# php-upgrade

CLI tool/script to upgrade and manage PHP version-specific APT packages with ease

## Features

### Package Management

`php-upgrade` provides convenient wrapper functions around the `apt` and `dkpg` family of commands.

* `php-upgrade` - Upgrade all PHP packages for a specific version
* `php-upgrade purge` - Purge all PHP packages for a specific version
* `php-upgrade list-packages` - List all installed packages for a specific PHP version

### Configuration Management

* `php-upgrade ini-diff` - Compare php.ini files for installed versions

### Version Retrieval

* `php-upgrade latest-ver` - Get the version number of the latest PHP release
* `php-upgrade installed-ver` - Get the currently installed PHP version number

## Installation

A `.deb` package is provided on the [releases page](https://github.com/BrandonXLF/php-upgrade/releases/latest) that can be installed with `sudo apt install ./PACKAGE` on Debian based distros such as Ubuntu.

If you have Rust and Cargo installed ([install Rust](https://www.rust-lang.org/tools/install)), then you can build and install `php-upgrade` with the command `cargo install php-upgrade`.

## Building

`php-upgrade` is built using Cargo. See [Cargo's build command documentation](https://doc.rust-lang.org/cargo/commands/build-commands.html) for more info. Additionally, [cargo-deb](https://crates.io/crates/cargo-deb) is used to produce `.deb` files via `cargo deb`.
