2

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

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

4 回答 4

2

我知道这是一篇较旧的帖子,但这对我有所帮助,(使用 Ampps,而不是 MAMP,但它应该工作相同)

这里

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

他们推荐

export AMPPS_PHP=/Applications/AMPPS/php/bin

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

那么就

export PATH="$AMPPS_PHP:$PATH"

which php用or测试一下php -v

于 2019-02-09T03:39:29.690 回答
0

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

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

  1. 下载VirtualBox
  2. 下载流浪者
  3. 通过PuPHPet选择您想要的盒子类型
  4. cd进入 puphpet 目录并运行vagrant up(可能需要一段时间!)

初始设置需要一点时间,但会非常快速地向前推进,并且可以很容易地与他人共享环境。

干杯

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

于 2015-02-04T21:30:04.593 回答
0

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

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

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

希望有帮助:)

于 2015-01-30T20:44:52.143 回答
0

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

于 2015-01-29T16:30:13.173 回答