【问题标题】:Modifying $PATH for PHP system() calls修改 PHP system() 调用的 $PATH
【发布时间】:2011-07-05 21:07:02
【问题描述】:

我需要在我的 mac 上修改 $PATH 以便 PHP system() 调用能够识别它。

到目前为止,我已经编辑了 /etc/profile 以包含以下行:

export PATH=$PATH:/Applications/MAMP/Library/bin

但如果我在 PHP 中执行 system('echo $PATH');,则不会显示新路径。

【问题讨论】:

  • 您是否重新启动了 shell(例如注销/重新登录)以获取新的配置文件设置?
  • @Marc B- 是的,重新启动。
  • 确保 PHP 用于 exec 调用的 shell 实际上使用 /etc/profile。子shell 可能会忽略它。
  • @Marc B- 好点,我会调查一下

标签: php macos shell path system


【解决方案1】:

使用 putenv 函数。例如,要将当前目录添加到 $PATH,可以使用以下代码:

<?php
putenv('PATH='.getenv('PATH').':.');   
echo shell_exec('echo $PATH'); /* Prints the expected result */

http://php.net/putenv

【讨论】:

  • @Artefact2- 谢谢,但我正在寻找一种永久修改系统环境的方法,而不是通过代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 2022-01-03
  • 2012-05-07
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多