我试图编写一个PHP脚本来运行一个相当简单的shell命令。该命令是Pygmentize,它是我安装的二进制文件,位于/usr/local/bin/pygmentize-1.4中。这在我的Web服务器的命令行(apache服务器中的目录)中工作正常,但是当我尝试在PHP脚本中包含该语句时,它失败了。
$command = "pygmentize -f html $extra_opts -l $language $temp_name";
$output = array();
$retval = -1;
exec( $command, $output, $retval );
echo $retval;
该命令返回值127,这似乎意味着脚本找不到二进制文件,我想我安装到了错误的位置。我将它安装到与PHP脚本位于同一目录中的目录中,但我不知道从那里去哪里。任何建议将不胜感激!
我想总结一下,我如何/在哪里安装Pygments以便我的脚本可以访问它?
答案 0 :(得分:0)
使用完整路径,因为php在另一个用户下运行,当此用户执行脚本时,./
不是apache目录:
$command = "/usr/local/bin/pygmentize-1.4-f html $extra_opts -l $language $temp_name";