shell_exec需要mac脚本中的php脚本中的完整路径名

时间:2015-10-09 02:13:13

标签: php macos terminal shell-exec

(在OSX上执行此操作,如果偏离主题则道歉)

当我运行代码行

shell_exec("/usr/local/bin/gnuplot gnuplot_script7"); 

在php脚本中,生成一个名为gnuplot_output7.png的文件,如预期的那样。但是当我运行类似的代码行时

shell_exec("gnuplot gnuplot_script7"); 

没有生成图像!尽管如此我输入

gnuplot gnuplot_script7

在OSX命令行上,图像已成功生成。

我输入 - 在命令行上回显$ PATH并返回

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/PostgreSQL/8.4/bin/:/usr/local/git/bin:/usr/X11/bin

当我输入

which gnuplot

在命令行上我回来了

/usr/local/bin/gnuplot

1 个答案:

答案 0 :(得分:1)

您的用户$PATH 与用户php正在运行时相同。

<强>解决方案

1-在您的用户下运行php(可能不安全),您可以使用:

shell_exec("gnuplot gnuplot_script7");

2 - 只需使用full path

 shell_exec("/usr/local/bin/gnuplot gnuplot_script7");