在AMPPS(OSX)中为PHP设置“$ PATH”变量

时间:2015-01-27 07:55:32

标签: php macos ampps

我有一个关于在AMPPS中为PHP脚本设置“$ PATH”变量的问题 (在OSX 10.10 Yosemite上)。

AMPPS中的PHP似乎以我的用户“danny”运行,但它看到的是$ PATH 是不同的。这是我在终端上看到的内容: Dannys-MacBook-Air:AMPPS danny $ echo $ PATH; 的/ usr / local / bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录

这是我通过打印$ _ENV在PHP脚本中得到的: [ “PATH”] => string(29)“/ usr / bin:/ bin:/ usr / sbin:/ sbin”[“USER”] =>串(5) “丹尼”

我试过做“putenv()”,尝试用不同的$ PATH做“shell_exec”, 我尝试在.htaccess和Apache配置文件中执行SetEnv。我试过了 编辑系统范围的/etc/.bashrc和我的用户〜/ .bash_profile。也不 到目前为止帮助。

我需要的是将/ usr / local / bin作为$ PATH的一部分。

4 个答案:

答案 0 :(得分:0)

我不知道它是否可能,但我想知道为什么你需要这个,即你真的需要改变你的PATH env变量吗?或者仅使用this function并仅为创建的进程设置变量就足够了吗?

答案 1 :(得分:0)

您可以设置 Apache服务器以使用凭据运行,并最终解决 $ PATH 问题。
但是,你也可以这样做,它应该有效:

<?php
putenv('PATH', getenv('PATH') . ';/usr/local/bin');
var_dump(getenv('PATH'));
?>

$ PATH 的修改仍然仅在 PHP 执行的持续时间内可用,还有其他方法可以永久设置环境变量

希望有所帮助:)

答案 2 :(得分:0)

这可能不太受欢迎,但我一直在你的位置,并且已经接近将我的机器扔到房间试图在OSX中正确设置MAMP的PHP路径。

我开始使用Vagrant并从VM开发,并发现它更容易,特别是如果你想更改其他项目的语言。相信我,从长远来看,它将为您节省时间。

  1. 下载VirtualBox
  2. 下载Vagrant
  3. 通过PuPHPet
  4. 选择所需的框类型
  5. cd进入puphpet目录并运行vagrant up(可能需要一段时间!)
  6. 初始设置需要花费一点时间,但要快速前进,并且很容易与他人共享环境。

    干杯

    编辑:我认为这是一个非常真实的未来解决方案,但是现在对我有用的是: export PATH=/usr/local/php5/bin:$PATH.bash_profile 在OSX优胜美地。我相信优胜美地的文件夹结构发生了变化。

答案 3 :(得分:0)

我知道这是一篇较旧的文章,但这对我有所帮助((使用Ampps而不是MAMP进行此操作,但它应该可以正常工作)

来自here

使用您的PHP二进制文件的路径(在终端中)创建一个变量

他们推荐

export AMPPS_PHP=/Applications/AMPPS/php/bin

我的是export AMPPS_PHP=/Applications/AMPPS/php-7.1/bin

然后就

export PATH="$AMPPS_PHP:$PATH"

使用which phpphp -v

进行测试