Multiple OCI8 and PHP versions in parallel

You can easily switch between multiple versions of PHP with:

sudo a2disconf php8.1-fpm
sudo a2enconf php8.0-fpm
sudo systemctl reload apache2

But if you installed the Oracle oci8 extension, you will probably run into the error, that it can not be loaded when switching to the older php version: Unable to load dynamic library 'oci8.so'

This happens, because pecl uninstalls the previous oci8 version automatically unless you explicitly say not to do so when installing:

# NOTE: PECL removes /usr/lib/php/xyz/oci8.so from non-active php versions,
# if you want multiple installations of php with oci8 in parallel, you need to set the php_suffix and prevent other oci8 version from being uninstalled with:
sudo pecl -d php_suffix=8.1 install oci8; sudo pecl uninstall -r oci8
sudo pecl -d php_suffix=8.0 install oci8-3.0.1; sudo pecl uninstall -r oci8

# instead of just installing latest version with
sudo pecl install oci8

Leave a comment

Your email address will not be published. Required fields are marked *