PHP检查Ghostscript是不是安装在服务器上

Posted

技术标签:

【中文标题】PHP检查Ghostscript是不是安装在服务器上【英文标题】:PHP check if Ghostscript is installed on serverPHP检查Ghostscript是否安装在服务器上 【发布时间】:2014-01-16 16:11:36 【问题描述】:

我有一个 php 脚本,它使用以下命令在我的 CentOS 机器上使用 Ghostscript:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName

我知道 ghostscript 已安装,但希望我的 PHP 脚本能够检测它是否已安装,如果未安装,则显示错误提示未安装所需的 Ghostscript。

有什么想法可以做到这一点吗?

谢谢。

【问题讨论】:

您是否检查过gs 是否在 PHP 使用的任何 shell 的路径中?也许您需要一个绝对路径,例如/usr/bin/gs 代替。 【参考方案1】:

使用外壳。您可以使用which 命令,例如

system( "which gs > /dev/null", $retval );
if ( $retval == 0 ) 
    // run gs

您也可以查看版本:

if (shell_exec("gs --version") >= $min_gs_version) 
    // run gs

(注意我这里是内联写的,没有测试过,所以可能有语法错误

【讨论】:

是的,有一个语法错误,你把'$'符号和函数名放在一起,我用shell_exec替换了$shell_exec,它对我来说很好用 已修复。谢谢@ShehrozAhmed

以上是关于PHP检查Ghostscript是不是安装在服务器上的主要内容,如果未能解决你的问题,请参考以下文章

在不安装 Ghostscript 的情况下将 PDF 文档转换为 PHP 中的预览图像

用ghostscript检查PDF是不是有透明对象

php(thinkphp)在linux系统下pdf转png图片

如何通过 ssh 检查 ubuntu 服务器上是不是存在 php 和 apache

奇怪的问题——PHP / ImageMagick / Ghostscript

从 PHP 调用 Ghostscript:无法打开初始设备