> ## Documentation Index
> Fetch the complete documentation index at: https://docs.curator.interworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dependency Updates

> Instructions for updating PHP, Apache, or MariaDB dependencies on your Curator webserver.

Curator's upstream dependencies (PHP, Apache, and MariaDB) require periodic updates to maintain security, performance,
and compatibility with the latest Curator features.

*Note: Before upgrading any dependencies, it is a good idea to ensure that you have a recent Curator backup available.*

## PHP Dependencies by Curator Version

| Curator Version | Minimum PHP Version | Maximum PHP Version |
| - | - | - |
| 2023.03.01 | 8.0 | 8.0 |
| 2024.10.04 | 8.0 | 8.1 |
| 2025.07-03 | 8.0 | 8.3 |
| 2025.09-03 | 8.1 | 8.3 |
| 2026.04-01 | 8.3 | 8.3 |
| 2026.07-01 | 8.3 | 8.4 |
| 2026.11-03 | 8.3 | 8.5 |

### Important Notes

* Always ensure your PHP environment meets or exceeds the minimum version requirement for your Curator installation.
* Each row of the table applies from that Curator release until the next listed release. If your release is not
  listed, use the closest row at or before it. For example, Curator 2025.08-04 follows the 2025.07-03 row
  (PHP 8.0 to 8.3).
* PHP 8.4 is supported starting with Curator 2026.07-01. Earlier releases support PHP 8.3 at most.
* The minimum and maximum versions are PHP minor versions. Every patch release within a supported minor version is
  supported. For example, PHP 8.2.35 is covered by 8.2, and PHP 8.4.27 is covered by 8.4.
* When a PHP security advisory is announced, install the patched release of a PHP minor version your Curator release
  supports. This does not require a Curator upgrade. If the patched version you need is a minor version above your
  release's maximum, upgrade Curator first (see [System Upgrade](https://docs.curator.interworks.com/upgrading_migration/upgrading/system_upgrade.md)),
  then upgrade PHP.
* Installing a PHP version above the listed maximum is unsupported and causes runtime errors. Stay within the
  minimum/maximum range shown for your Curator release.
* Upgrading Curator may require upgrading your PHP version. The System Upgrade page will automatically warn you
  when a release requires a newer PHP version than your server is currently running. See
  [System Upgrade — PHP Version Compatibility](https://docs.curator.interworks.com/upgrading_migration/upgrading/system_upgrade.md#php-version-compatibility)
  for details on how these warnings appear.
* Check your current PHP version with `php --version`.

For example, a server running Curator 2025.08-04 on PHP 8.0 can move to PHP 8.1, 8.2, or 8.3 (such as PHP 8.2.35)
without upgrading Curator. To move to PHP 8.4 (such as PHP 8.4.27), first upgrade PHP to 8.3, because Curator
2026.04-01 and later require it. Then upgrade Curator to 2026.07-01 or later, and finally upgrade PHP to 8.4.

### Required PHP Extensions

Running a supported PHP version is not enough on its own — Curator also requires the following PHP extensions to be
enabled in that version:

| Extension | Used for |
| - | - |
| `zip` (`ZipArchive`) | Backups, content import and export, and upgrade packages |
| `gd` | Image processing and thumbnail generation |
| `fileinfo` | Detecting the type of uploaded files |
| `zlib` | Compression |
| `curl` | Outbound requests to analytics platforms, licensing, and upgrade downloads |
| `openssl` | Encryption and secure connections |

Curator checks for these extensions and, on self-hosted installations, raises a *Curator is missing one or more
dependencies* warning that links back to this page when any of them are unavailable.

Upgrading PHP with the [Curator Dependency Update Utility](#windows) on Windows, or with the
[`php_upgrade_util.sh` script](#linux) on Linux, enables the required extensions for you. Installing or upgrading PHP
manually does **not** — for example, downloading a PHP release yourself and pointing IIS or Apache at it. In that
case you must enable each extension in the new PHP version's `php.ini`.

To list the extensions the PHP command line currently loads:

```bash theme={null}
php -m
```

To check for a single extension, filter that list with `php -m | findstr zip` on Windows, or `php -m | grep zip` on
Linux.

> [!NOTE]
>
> If `php artisan` commands fail immediately after a manual PHP upgrade with an error such as
> `Class "ZipArchive" not found`, the `zip` extension is not enabled in the PHP version now in use. Add
> `extension=zip` to the `php.ini` file that `php --ini` reports as loaded, then restart your web server and any
> PHP FPM processes. Reverting to the previous PHP version also clears the error, because the old installation still
> has the extension enabled.

## Database Dependencies by Curator Version

Starting with **2026.06-01**, Curator requires a newer database engine. Older MySQL and MariaDB versions are no
longer compatible with the underlying framework, so the System Upgrade process will refuse to install a release that
requires a database version newer than the one your server is running.

| Curator Version | Minimum MySQL Version | Minimum MariaDB Version |
| - | - | - |
| 2026.06-01 | 8.0 | 10.5 |

### Database Notes

* Always ensure your database engine meets or exceeds the minimum version requirement for your Curator installation.
* Upgrading Curator may require upgrading your database. The System Upgrade page will automatically block a release
  when it requires a newer database version than your server is currently running. See
  [System Upgrade — Database Version Compatibility](https://docs.curator.interworks.com/upgrading_migration/upgrading/system_upgrade.md#database-version-compatibility)
  for details on how this appears.
* Check your current database version by running `SELECT VERSION();` against your Curator database, or
  `mysql --version` from the command line.
* See the [Optional MariaDB Upgrade](#optional-mariadb-upgrade) and [Manual MariaDB Updates](#manual-mariadb-updates)
  sections below for instructions on upgrading MariaDB.

## Windows

First and foremost: ensure all relevant Windows Updates have been applied to your server.

Next, update Curator dependencies.

Curator bundles PHP, Apache, and VC Redistributable upgrades (plus an optional MariaDB upgrade) into a simple
utility package to make updating them as easy as possible.

To update Curator's dependencies, simply download our **[Curator Dependency Update Utility](https://portals.interworks.com/Curator_PHP_Upgrade_Util.exe)**.

Once downloaded, simply double-click the utility to run updates.
The Microsoft Visual C++ Redistributables, PHP, and Apache will be upgraded automatically by this utility.
During the upgrade, the utility pauses Curator's scheduled jobs and stops any running PHP processes so files are
not locked mid-upgrade, then resumes everything once the upgrade finishes.

**Note: Internet access is required for this process. Systems without internet access will need to upgrade manually.**

For air-gapped servers, see the **Updating PHP and Other Dependencies Offline** section of
[Offline Upgrades (Air Gapped)](https://docs.curator.interworks.com/upgrading_migration/upgrading/offline_upgrades_air_gapped.md) and the
[Manual Dependency Updates](#manual-dependency-updates) steps below.

### Which PHP Version the Utility Installs

The Dependency Update Utility always installs the latest PHP version Curator supports (currently PHP 8.4). Unlike the
[Linux script](#choosing-the-php-version), it has no option to choose an older PHP version. Check the
[PHP Dependencies by Curator Version](#php-dependencies-by-curator-version) table before you run it: your Curator
release must support that PHP version, which today means **2026.07-01 or later**.

If your Curator release is older than 2026.07-01:

1. Upgrade Curator first, using [System Upgrade](https://docs.curator.interworks.com/upgrading_migration/upgrading/system_upgrade.md).
2. Then run the Dependency Update Utility.

Releases from 2026.04-01 onward need at least PHP 8.3, so a server on an older PHP version cannot reach 2026.07-01
by upgrading Curator alone. If your server runs PHP 8.2 or older, or you cannot move Curator to 2026.07-01 or later
(for example, to apply a PHP security patch with minimal change to a production portal), do not run the utility.
Contact InterWorks support instead. We can help you install a patched PHP version that stays within your release's
minimum and maximum range.

#### Applying PHP Security Patches

Before you apply a PHP security patch, check the patched version against your release's range, as described under
[PHP Dependencies by Curator Version](#php-dependencies-by-curator-version).

> [!WARNING]
>
> Keep PHP within your Curator release's range in both directions. Running Curator on a PHP version below the
> release's minimum (for example, 2026.04-01 on PHP 8.1) stops the portal from loading, and running it above the
> maximum causes runtime errors, until PHP is changed to a supported version.

### Optional MariaDB Upgrade

The utility can also upgrade Curator's bundled MariaDB database. Because the database is stateful, this step is
**off by default**: the utility asks whether you want to run it, and the prompt only appears when a Curator MariaDB
installation (`libs\MariaDB`) and the *CuratorDB* service are both present on the server.

If you opt in:

* You will be prompted for your database root password, which is validated against the running server before
  anything is changed. The password is saved in the *info.txt* file in your installation directory
  (typically `C:\InterWorks\Curator\info.txt`) under *Database Root Password*.
* The utility takes a full backup of the `libs\MariaDB` folder as a rollback point. A disk-space check runs first
  to confirm there is enough room for the backup.
* Only the MariaDB program files are replaced. Your databases (the `data` folder) and configuration (`my.ini`)
  are never touched.
* If the upgrade crosses major MariaDB versions, the utility warns you and asks for confirmation before proceeding.
* After the new version starts, the utility runs `mysql_upgrade` and verifies the result.
* If the new version fails to start or verification fails, the previous MariaDB installation is automatically
  restored from the backup.

After a successful upgrade, the backup folder (for example, `libs\MariaDB.old`) is kept on disk. Once you have
confirmed Curator works correctly, you can delete it to reclaim disk space.

*Note:* The database briefly stops during this step, and upgrading MariaDB is not usually required for a Curator
upgrade. Only opt in when a release requires a newer database version (see
[Database Dependencies by Curator Version](#database-dependencies-by-curator-version)) or you have another reason
to upgrade. Always have your own recent backup before upgrading the database.

### Manual Dependency Updates

If your server has restrictions that prevent the utility from downloading files automatically, you can manually download
the required files and run the upgrade utility locally.

To manually upgrade dependencies:

1. Download the **[Curator Dependency Update Utility](https://portals.interworks.com/Curator_PHP_Upgrade_Util.exe)** on
   a system with internet access.

2. Download the following files to the same directory as the utility.
   \[!WARNING] File names must match exactly as shown below for the utility to recognize them.
   * **vc\_redist.exe** - VC Redistributables: [https://api.curator.interworks.com/file/vc\_redist](https://api.curator.interworks.com/file/vc_redist)
   * **php.zip** - PHP package: [https://api.curator.interworks.com/file/php\_apache](https://api.curator.interworks.com/file/php_apache)
   * **apache.zip** - Apache updates: [https://api.curator.interworks.com/file/apache](https://api.curator.interworks.com/file/apache)
   * **mariadb.zip** - MariaDB package (only needed if you opt into the
     [Optional MariaDB Upgrade](#optional-mariadb-upgrade)): [https://api.curator.interworks.com/file/mariadb](https://api.curator.interworks.com/file/mariadb)
     \[!NOTE] These links are API-served download endpoints. The URLs do not include file extensions — each link
     downloads a file with the name shown in bold above (e.g., `vc_redist.exe`, `php.zip`, `apache.zip`).

3. Transfer all files (the utility and the downloaded files) to your Curator server.

4. Ensure the utility and all downloaded files are in the same directory, such as having them all on your Desktop,
   then double-click the utility to run the upgrade.

*Note: The utility will detect the locally available files and use them instead of attempting to download them. If the
file names do not match exactly, the utility will not recognize them and will attempt to download them from the internet.*

### Manual MariaDB Updates

The [Optional MariaDB Upgrade](#optional-mariadb-upgrade) step in the Dependency Update Utility is the recommended
way to upgrade MariaDB on Windows, since it backs up the installation and automatically rolls back if the upgrade
fails. Use the manual steps below only if you cannot run the utility.

To manually upgrade MariaDB, download the [MariaDB package](https://api.curator.interworks.com/file/mariadb).

*Note:* To upgrade MariaDB, you will need your database root password.
If you do not know this password, check your installation directory for an *info.txt* file
(typically `C:\InterWorks\Curator\info.txt`) and look for the *Database Root Password* entry.

### MariaDB on Windows

To upgrade MariaDB on Windows, first stop the *CuratorDB* Service, using Window's *Services* app.

You can open Window's *Services* by simply searching for *Services* using the Window's start bar.

To stop the *CuratorDB* process, find it in the *Services* list, then right click on it and click *Stop*.

Next, find Curator's MariaDB installation folder.

*Note:* This can usually be found in C:\InterWorks\Curator\libs\MariaDB.

Rename to MariaDB's *bin* folder to *bin.bkp*.

After a successful upgrade, you can delete this backup directory.

Then, download the latest [MariaDB](https://api.curator.interworks.com/file/mariadb) package.
Unzip this package over top of Curator's MariaDB installation.

Finally, open PowerShell in Administrative mode and run MariaDB's upgrade utility.
To open Powershell in Administrative mode, use the search widget in Window's start bar.
Search for Powershell, then Right-Click on Powershell and click "Run As Administrator".

Navigate to MariaDB's bin directory and run the upgrade utility.

```bash theme={null}
cd C:\InterWorks\Curator\libs\MariaDB\bin
mysql_upgrade_service.exe --service=CuratorDB
```

Note: if you have trouble with the MariaDB's *service* upgrade utility, you can also use the non-service version.
To do this, first restart MariaDB in Window's *Services* app, and then run this command:

```bash theme={null}
mysql_upgrade.exe -u root -p --force
```

## Linux

Linux's upstream repositories handle dependency updates, so first ensure you are running a recent version of your Linux distribution.

If you're not sure, you can take a look at our recommended distributions on the [Linux Installation page](https://docs.curator.interworks.com/setup/installation/linux_installation.md).

To update Curator's Linux dependencies, SSH into your web server and cd into the webroot directory
(typically /var/www/html) and ensure you're using a user that has full sudo access, and run the command below.

This command will upgrade PHP, MariaDB, Apache, and any other operating system dependencies required by Curator:

```bash theme={null}
curl -s -o php_upgrade_util.sh https://api.curator.interworks.com/scripts/php_upgrade_util.sh && chmod +x ./php_upgrade_util.sh && ./php_upgrade_util.sh
```

If your server has no internet access, see the **Updating PHP and Other Dependencies Offline** section of
[Offline Upgrades (Air Gapped)](https://docs.curator.interworks.com/upgrading_migration/upgrading/offline_upgrades_air_gapped.md).

### Choosing the PHP Version

The script installs PHP 8.4 by default. If your Curator release's maximum PHP version is 8.3 (see
[PHP Dependencies by Curator Version](#php-dependencies-by-curator-version)), add `-v 8.3` to install PHP 8.3
instead:

```bash theme={null}
curl -s -o php_upgrade_util.sh https://api.curator.interworks.com/scripts/php_upgrade_util.sh && chmod +x ./php_upgrade_util.sh && ./php_upgrade_util.sh -v 8.3
```

The script supports only `8.4` and `8.3`; if your Curator release needs an
older PHP version, upgrade Curator first. Run `./php_upgrade_util.sh -H` to list every option.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.