0

我正在尝试编写一个 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 以便我的脚本可以访问它?

4

1 回答 1

0

使用完整路径,因为 php 在另一个用户下运行,而./不是该用户执行脚本时的 apache 目录:

$command = "/usr/local/bin/pygmentize-1.4-f html $extra_opts -l $language $temp_name";
于 2013-06-04T19:09:12.410 回答