cPanel PHP Extension Error after UPCP Update

Centos:     6.7
WHM:        11.50.0
Apache:     2.2.39
PHP:        5.4.42

I awoke today to find all websites hosted on one particular cPanel server showing the following message at the bottom of every web page.


Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-xxxxxxx/' – cannot open shared object file: No such file or directory in Unknown on line 0 didnt seem to exist anywhere on the server now. Looking in /usr/lib64 I could see the following files:

lrwxrwxrwx.  1 root root       22 Aug  7 00:23 ->*
lrwxrwxrwx.  1 root root       22 Aug  7 00:23 ->*
-rwxr-xr-x.  1 root root  2491240 Jul 23 23:53*
lrwxrwxrwx.  1 root root       20 Aug  7 00:23 ->*
lrwxrwxrwx.  1 root root       20 Aug  7 00:23 ->*
-rwxr-xr-x.  1 root root   451304 Jul 23 23:53*
lrwxrwxrwx.  1 root root       22 Aug  7 00:23 ->*
lrwxrwxrwx.  1 root root       22 Aug  7 00:23 ->*
-rwxr-xr-x.  1 root root  1167744 Jul 23 23:53*


Firstly I tried to re-install ImageMagick

# /scripts/installimagemagick

This should reinstall the ImageMagick provided by the yum repositories and automatically link it to Apache/PHP


This did not solve the problem so I used the following procedure:

# mv /usr/local/lib/php.ini /usr/local/lib/php.ini-original

# /scripts/phpini

The /scripts/phpini script builds the php.ini configuration file based on the options selected during EasyApache and Pear/Pecl selections.

Note: If you have customised your php.ini for third-party applications, modules or personalised settings (i.e.. different time zones, enabling/disabling standard functions), you will need to replace those customizations – which is why the original php.ini was saved as php.ini-original


This sadly completely broke a few websites as PDO was not showing as installed as a PHP module (run php -m to get the installed modules)


The next step was to rebuild Apache using EasyApache. To do this from the command line run:


# /scripts/easyapache --build

This rebuilds Apache and PHP based on the current selections (eg the ticked boxes in the GUI )


It appeared that a upcp (cPanel update which can also include a yum system update) job ran overnight and updated the version of ImageMagick from the yum repositories. As php.ini requires either an EasyApache or /scripts/phpini to update, the ImageMagick installation referenced in the in the php.ini was no longer valid.