当前位置: 首页 > 工具软件 > Ghostscript > 使用案例 >

centos安装ghostscript+PHP扩展imagick

鲁明知
2023-12-01

有一个功能:php将pdf转化成图片。用到了pdf-to-image这个库。但是这个库是依赖 Imagick和 Ghostscript 的。

所以想使用pdf-to-image(github地址:https://github.com/spatie/pdf-to-image),必须安装php拓展imagick和Ghostscript。

1,安装imagick

上面文章已经写了,这里不再重复。直达链接:https://blog.csdn.net/Xiao_peng117/article/details/96131974

 

2,安装Ghostscript

安装过程还是遇到一些问题的。

我装的是最新版Ghostscript 9.27 Source for all platforms (下载链接https://www.ghostscript.com/download/gsdnld.html

安装很简单,将下载的source code(tar.gz格式)放到服务器任意一个位置

# tar -xzvf ghostscript-9.27.tar.gz
# cd ghostscript-9.27
# ./configure 
# make
# make install

装完之后输入查看是否安装成功,如果输入下面这个命令会显示版本号,说明安装成功。

# gs --version

但是装好之后,会有如下报错

2019/07/16 15:40:06 [error] 3122#0: *497 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught ImagickException: FailedToExecuteCommand `'gs' -sstdout=%s
tderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4
 '-r72x72'  '-sOutputFile=/tmp/magick-12339LPt5MDJcgXJT%d' '-f/tmp/magick-12339b0_cwUSVJzpC' '-f/tmp/magick-12339m9xIVzfEHA5k'' (1) @ error/pdf.c/InvokePDFDelegate/
328 in /www/wwwroot/htdocs/home/pdf/src/Pdf.php:44
Stack trace:
#0 /www/wwwroot/htdocs/home/pdf/src/Pdf.php(44): Imagick->__construct('test.pdf')
#1 /www/wwwroot/htdocs/home/pdf/test.php(12): Spatie\PdfToImage\Pdf->__construct('test.pdf')
#2 {main}
  thrown in /www/wwwroot/htdocs/home/pdf/src/Pdf.php on line 44" while reading response header from upstream

通过你的phpinfo()确定你的php-fpm.conf在哪个位置。通常通常都是/XXX/XXX/php/etc/php-fpm.conf。至于你的php装在哪个目录就你自己知道了。

用vi 打开php-fpm.conf

在最后,添加下面这一行:

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

然后重启php-fpm(需要知道你的php-fpm路径)

# killall php-fpm //关闭
# php-fpm //打开

再运行,就没有报错了。

自己测试时也成功将PDF生成jpg啦

 类似资料: