一夜之间,PECL ImageMagick扩展突然停止在我们的几台服务器上工作。 显示的错误消息如下所示:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libMagickWand.so.2: cannot open shared object file: No such file or directory in Unknown on line 0
ImageMagick本身和PECL扩展已经安装并且在此之前的几个月中相当愉快地工作。 上述错误消息中引用的所有文件都存在于服务器上的给定位置。
所有的服务器都是RHEL6,通过第三方软件仓库安装标准的PHP 5.3.3或者v5.4.x / 5.5.x。
发出“pecl uninstall imagick”和“pecl install imagick”似乎已经解决了这个问题,但是我很好奇为什么这个事情发生在第一位呢?
既然你说你正在使用第三方软件仓库,我敢肯定发生了什么事情是一个背景yum更新运行并更新imagemagik rpm并删除了php模块链接的库。
所以当你通过pecl重新安装时,它find了新的库并重新链接。
如果在模块上运行以下命令,将会看到新库将不同于libMagickWand.so.2
ldd /usr/lib64/php/modules/imagick.so | grep libMagick
我们的托pipe公司已经证实,这涉及到我们所有的服务器昨晚自动发布的yum更新 – 他们给我这个链接的更多信息: https : //bugzilla.redhat.com/show_bug.cgi?id=1248069