【问题标题】:Problems with Imagick and PHPImagick 和 PHP 的问题
【发布时间】:2013-12-08 10:45:12
【问题描述】:

我使用 Imagick 的 PHP 脚本在运行时出现此错误:

致命错误:在第 320 行的 /var/www/vhosts/example.com/script.php 中找不到类“Imagick”

如果我从 SSH 运行 php,它会给我这个警告:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php/modules/imagick.so' - /usr/lib/php/modules/imagick.so:未定义符号: 第 0 行未知中的 php_checkuid_ex

奇怪的是,Imagick 一直在工作……我尝试安装它,但它说一切都已经安装了。

库在正确的位置:

# locate imagick.so
/usr/lib/php/modules/imagick.so

我尝试切换到 imagick 的 beta 版本,因为似乎 Imagick 在 PHP 版本 5.4.2 上存在问题,但问题并未解决:

pear config-set preferred_state beta
pecl upgrade imagick

当我尝试升级时,配置失败:

错误:无法找到 MagickWand.h 或 magick-wand.h 标头错误: `/var/tmp/imagick/configure --with-imagick' 失败

所以我创建了一个 magick-wand.h/usr/include/ImageMagick/wand/MagickWand.h 的符号链接,但现在错误出现了:

/var/tmp/imagick/imagick_helpers.c:859: error: 'PaletteBilevelMatteType' undeclared (first use in this function)
/var/tmp/imagick/imagick_helpers.c:859: error: (Each undeclared identifier is reported only once
/var/tmp/imagick/imagick_helpers.c:859: error: for each function it appears in.)
make: *** [imagick_helpers.lo] Error 1
ERROR: `make' failed

我该怎么办?

【问题讨论】:

    标签: php imagick


    【解决方案1】:

    我通过卸载解决了我的问题,然后使用 pecl 命令重新安装了“imagick”扩展程序

    以 Root 身份通过 SSH 连接到服务器并输入

    pecl uninstall imagick
    

    那么……

    pecl install imagick
    

    请注意这是在 Centos 6.5 上运行 php 5.4.42 和 ImageMagick 6.7.2-7

    辛苦了

    【讨论】:

      【解决方案2】:

      好的,我已经解决了这个问题。

      我已经删除了 ImageMagick 和 ImageMagick-devel

      yum remove ImageMagick
      yum remove ImageMagick-devel
      

      然后我从 RPM 安装了更新的版本:

      cd /root
      wget http://www.imagemagick.org/download/linux/CentOS/i386/ImageMagick-6.8.7-6.i386.rpm
      wget http://www.imagemagick.org/download/linux/CentOS/i386/ImageMagick-devel-6.8.7-6.i386.rpm
      rpm -Uvh ImageMagick-6.8.7-6.i386.rpm
      rpm -Uvh --nodeps ImageMagick-devel-6.8.7-6.i386.rpm
      

      注意 --nodeps,需要,因为它正在寻找我找不到且似乎不需要的 ImageMagick-libs

      然后我卸载了 Imagick

      pecl uninstall imagick
      

      我已经使用 pecl 再次编译了它

      pecl install imagick
      

      一切正常(有一些警告,但安装后可以正常工作)。

      此解决方案适用于 CentOS 5/6 x86,如果您有不同的操作系统,请为您的 Arch 或发行版查找库。

      【讨论】:

        猜你喜欢
        • 2013-04-04
        • 2011-07-24
        • 2013-09-20
        • 2014-10-30
        • 2019-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多