通过对这个问题的繁琐分析,我发现了一个解决方案,如果您尝试使用PECL卸载和安装ImageMagick,并且在imagick.so文件出现某些问题时,该方法可能能够修复系统。!由于在带有CPanel的服务器上愚蠢地进行“源代码安装”,以实际获得WebP支持。
但是,您不需要复制我的方法,只需要做以下事情:
实际上是在EasyApache 4中重新安装此模块:
mod_lsapi
重新安装模块后,您将能够通过该模块重置php.ini文件。然后,等待另一个完整的error_log就容易了,从现在开始可能不会再出现错误。
选项2:
我尝试使用yum和PECL卸载所有rpm,并使用ImageMagick作为源文件安装整个系统,但一开始很难让ImageMagick源代码找到正确的位置将imagick.so文件放入扩展文件夹中。因为在另一个带有CPanel的目录中:
/opt/cpanel/ea-php74/root/usr/lib64/php/modules
如果您已经尝试过源代码安装,那么您可能想要卸载所有的.rpm文件,但这仅适用于在Cpanel系统中已经从源代码进行了安装。
yum remove ImageM*
并从源代码安装Imagick。如果你无法做到这一点,请从源代码安装ImageMagick并启用共享功能。此外,在进行源代码安装后,您还需要从PECL中删除ImageMagick模块。在卸载并使用源代码版本的ImageMagick之前,请确保imagick.so仍然位于此目录中,并且该模块仍然通过PECL安装:
cp /opt/cpanel/ea-php74/root/usr/lib64/php/modules/imagick.so /root/tmp
cp /root/tmp/imagick.so /opt/cpanel/ea-php74/root/usr/lib64/php/modules
要找到您自己的模块文件夹,请使用:
php -i | grep extension_dir
请记住,我使用的是php74版本和CPanel,在这种情况下,只有CPanel用户或在不同位置使用php74的用户才存在此问题。请使用正确的PHP版本,而不是php74。
为了使共享安装ImageMagick源正确,请执行以下操作:
./configure --enable-shared
make
make install
php.ini
文件中,要么是在某个地方使用了dl
函数加载了该库。 - Francois Deschenes