2012-12-20 23 views
1

我发现我的Imagick安装中没有PNG支持,所以我安装了libpng。现在我可以看到,PNG格式的支持,当我运行一个命令Imagick:在命令行中可用的PNG支持,但在PHP中不可用

convert -list format 

和转换从PNG至JPG命令行正常工作:

convert a.png b.jpg 

但是当我尝试读取PNG文件PHP:

$src = new \Imagick(); 
    $src->readImageBlob(file_get_contents($file)); // reading PNG format 

- 它给了我错误500( “...没有解码委托这种图像格式”)

当我运行phpinfo() - 我在Imagick支持的文件格式列表中看不到PNG。还有很多其他的,但没有PNG。

我试图让我停止PHP Imagick驱动程序,然后重新启动apache - 仍然没有成功。

PS:我有PHP 5.4 @ CentOS

+0

什么的'识别a.png'您的shell结果如何? – tom

+0

a.png PNG 24x24 24x24 + 0 + 0 8位sRGB 1.6KB 0.000u 0:00.000 – oyatek

回答

1

根据安装要求。 “Imagick支持的格式数量完全取决于ImageMagick安装支持的格式数量。”我想你需要重建PHP imagemagick扩展。看到这里:http://php.net/manual/en/imagick.installation.php

+0

我已经尝试重新安装PHP Imagick扩展(imagick-3.1.0RC2),重新启动apache - 并且没有任何更改。我想念什么?我必须在./configure之后添加一些命令才能添加PNG支持吗? – oyatek

+0

'./configure --help'来查看可用的选项。您可能需要执行诸如'./configure --with-png = yes'的操作。 – paulgrav

+0

抱歉,它没有帮助 – oyatek

相关问题