我想使用一个需要exec()GhostScript的库,但它无法在我的MAMP服务器上这样做。我写这一小段代码,运行测试:PHP的exec()不能运行GhostScript
<?php
$cmd = "...";
$output = array();
exec($cmd, $output)
echo $output[0];
?>
首先,我设置$cmd
到'whoami'
和它的工作原理,并给出了相同的结果在PHP和终端(我的用户名)。
然后我试着用'/usr/texbin/latex --version'
,它也能正常工作。
但是,当我尝试'/opt/local/bin/gs --version'
,它失败,而它在终端工作。
在我看来,它既不是一个PATH问题,也不是一个Apache授权问题(我迄今为止读到的通常的嫌疑人),所以我没有想法。
在此先感谢!
是的safe_mode/safe_mode_exec_dir之设定? http://www.php.net/manual/en/ini.sect.safe-mode.php#ini.safe-mode-exec-dir – 2013-03-20 17:58:05
看起来像授权问题给我。你为什么不尝试在你的PHP文件的文件夹中做一个符号链接,并给它正确的授权 – ITroubs 2013-03-20 17:58:18
@MichaelMacDonald:我在PHP 5.4.10,所以这些不再存在。 @ITroubs:我从我的文件所在的目录中创建了一个'ln -s/opt/local/bin/gs gs',但我不确定如何更改授权? – arnaudrg 2013-03-20 18:12:48