在PHP脚本中添加$ PATH环境变量

时间:2011-08-01 16:36:31

标签: php path environment-variables

我有一个使用wget下载一些图片的PHP脚本。但是,wget是使用Homebrew安装的,因此运行PHP脚本的用户无法使用它。当我运行exec('echo $PATH')时,我没有得到包含/usr/local/bin的{​​{1}}目录。如何将wget添加到环境路径中,以便PHP脚本可以找到/usr/local/bin

更新:我忘了提到我无法指定确切位置的原因是因为位置可能会有所不同,具体取决于运行此脚本的机器。

解决方案:

这就是我最终的结果:

wget

2 个答案:

答案 0 :(得分:9)

按优先顺序排列:

  1. 您可以在调用子流程时指定完整路径/usr/local/bin/wget。这可能是最简单和最好的方法。
  2. 您可以使用proc_open代替exec,这允许您将环境变量作为参数传递。
  3. 您可以使用putenv更改当前环境(子进程将继承该环境)。

答案 1 :(得分:1)

PHP有一个名为$_ENV的神奇全局变量,它是一个包含所有环境变量的数组(在PHP脚本运行的进程的上下文中,例如您的Web服务器)。

请参阅http://php.net/manual/en/reserved.variables.environment.php