【问题标题】:shell_exec requires full path name in php script on macshell_exec 需要 mac 上的 php 脚本中的完整路径名
【发布时间】:2016-01-06 20:16:04
【问题描述】:

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

当我运行代码行时

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

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

shell_exec("gnuplot gnuplot_script7"); 

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

gnuplot gnuplot_script7

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

我在命令行上输入 - echo $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

【问题讨论】:

    标签: php macos terminal shell-exec


    【解决方案1】:

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


    解决方案

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

    shell_exec("gnuplot gnuplot_script7");
    

    2 - 只需使用full path:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多