【问题标题】:can not modify PATH with putenv() running MAMP / PHP 5.6.1 / Mac OS X El Capitan无法使用运行 MAMP / PHP 5.6.1 / Mac OS X El Capitan 的 putenv() 修改 PATH
【发布时间】:2016-01-05 02:10:43
【问题描述】:

配置: MAMP Pro PHP 5.6.1 Mac OS X El Capitan

我需要将/user/local/bin添加到php可以访问的系统路径

我尝试过使用 putenv()

但似乎我无法使用 putenv() 更改 php 中环境变量 PATH 的值

putenv('PATH=' . '/user/local/bin' . PATH_SEPARATOR . getenv('PATH') );

不改变值

这适用于其他变量

PATH 似乎受到保护,我不知道在哪里可以取消保护它 - php ini 设置似乎没有任何关于非安全模式环境变量的信息。

这对任何人都有好处吗?

谢谢

【问题讨论】:

  • 它的工作方式正如你所期望的那样。您了解更改仅影响当前脚本的执行,并且不会全局导出新变量,对吗? (FWIW,我还没有更新到 El Capitan)
  • 您如何检查您的零钱?我可以在 El Capitan 附带的 PHP 版本中执行 PATHputenvecho getenv('PATH');,但我没有 MAMP Pro...

标签: php path environment-variables mamp osx-elcapitan


【解决方案1】:

可能受到新的“无根”或 SIP(​​系统完整性保护)的保护。除非您真的知道自己在做什么,否则我不建议您禁用此功能,但禁用它可以解决您的问题。

More Info Here(维基百科页面) 以及如何Disable It Here(OS X 每日)

【讨论】:

    猜你喜欢
    • 2017-02-27
    • 2016-01-11
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2016-02-02
    • 2017-04-19
    相关资源
    最近更新 更多