Symptoms
When performing an audit of your error logs, you may find log entries such as
PHP Warning: Module 'imagick' already loaded in Unknown on line 0.
This warning could be in another module or on another line; however, the error is generally the same.
Description
This warning occurs when a module has been added more than once or is in more than one ini file, such as zzzzz-pecl and the module.ini file. It can occur when the module has been installed through yum and as an additional pecl module.
Workaround
You can use grep to search the /opt/cpanel/ea-phpXX/etc/php.d folder for the module being loaded multiple times.
For example, for imagick, we can recursively grep all of the ea-php versions in the root/etc folder.
[root@server /opt]cPs# grep -Ri imagick /opt/cpanel/ea-php*/root/etc
/opt/cpanel/ea-php51/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php51/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php51/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php51/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php52/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php52/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php52/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php52/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php53/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php53/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php53/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php53/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php54/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php54/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php54/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php54/root/etc/php.d/imagick.ini:extension=imagick.so
/opt/cpanel/ea-php54/root/etc/php.d/zzzzzzz-pecl.ini:extension="imagick.so"
We can see multiple entries for this module when checking the individual files.
[root@server /opt]cPs# cat /opt/cpanel/ea-php56/root/etc/php.d/imagick.ini
extension=imagick.so
extension=imagick.so
extension=imagick.so
extension=imagick.so
[root@server /opt]cPs# cat /opt/cpanel/ea-php72/root/etc/php.d/imagick.ini
extension=imagick.so
extension=imagick.so
extension=imagick.so
extension=imagick.so
[root@server /opt]cPs# cat /opt/cpanel/ea-php73/root/etc/php.d/zzzzzzz-pecl.ini
extension="imagick.so"
extension="timezonedb.so"
[root@server /opt]cPs# cat /opt/cpanel/ea-php73/root/etc/php.d/imagick.ini
extension=imagick.so
Use your favorite editor from the terminal to remove the additional entries in the files previously found.
How to edit a file on command-line
Afterward, be sure to restart PHP-FPM if it's in use:
/scripts/restartsrv_apache_php_fpm
Comments
0 comments
Article is closed for comments.