在使用php的imagick插件生成文件的缩图时,发现报错" Failed to read the file",检查了下服务器配置,虽然很快的解决了,但为了防止以后遇到相同的情况,就记录下解决过程。

imagick插件报错"Failed to read the file"场景

imagick插件报错的代码

$paf = 'xxx.pdf';
$im = new Imagick();  
$im->setResolution(120,120);  
$im->setCompressionQuality(100);
$im->readImage($pdf."[0]");  //报错的一行
..........

imagick 插件在使用 readImage 报如下的错误!

Failed to read the file

imagick使用readImage报错 Failed to read the file 的解决方法

1、安装 ghostscript 

我个人的服务器是 centos 系统,执行下面的ssh命令,安装 ghostscript 即可。

ghostscript ssh 安装命令

sudo yum install ghostscript

如果你的服务器系统不是centos 可以使用下面的命令

sudo apt-get install ghostscript

imagick使用readImage报错 Failed to read the file 的解决方法

2、修改 php-fpm.conf 文件

如果安装 ghostscript 后依然报错,那么可以尝试修改 php-fpm.conf 文件。

(1)、找到并打开 php-fpm.conf 文件

如下图,下面的截图来自宝塔面板:

找到并打开 php-fpm.conf 文件

(2)、找到如下的代码:

env[PATH] = /usr/local/bin:/usr/bin:/bin

找到并打开 php-fpm.conf 文件

并去掉代码前面的注释,如果没有此代码,可以在文件未尾加上。