我的 Mac 上安装了 XAMPP,并且我想让命令行 PHP 使用与 XAMPP 相同的可执行文件,因为我已经自定义了 php 的 php.ini 文件。
我想要的 php 二进制文件位于:
/Applications/XAMPP//xamppfiles/bin/php
快速检查一下我的 CLI php 来自哪里:
Casey-Flynns-MacBook-Air:~ casey$ whereis php
/usr/bin/php
我尝试将以下行添加到我的 ~/.bash_profile 中:
export PATH=/Applications/XAMPP//xamppfiles/bin/:$PATH
对我的 $PATH 全局变量进行快速测试表明:
Casey-Flynns-MacBook-Air:~ casey$ echo $PATH
/Applications/XAMPP//xamppfiles/bin/:/Applications/SenchaSDKTools-2.0.0-Developer-Preview/jsbuilder:/Applications/SenchaSDKTools-2.0.0-Developer-Preview/command:/Applications/SenchaSDKTools-2.0.0-Developer-Preview:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin:/usr/X11R6/bin:/Users/casey/.ec2/bin
但是当我从命令行执行“php”时,它仍然使用我不想要的二进制文件。有人知道可能发生了什么吗?
答案1
看man whereis
:
The path searched is the string returned by the sysctl(8) utility for the ``user.cs_path'' string.
在我的 Mac OS X 上是这样的:
$ sysctl user.cs_path
user.cs_path = /usr/bin:/bin:/usr/sbin:/sbin
而是用来which
验证你的 shell 将使用什么:
$ echo $PATH
/Users/xyz/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
$ which php
/Users/xyz/bin/php
我仍然认为在 $PATH 中有两个同名的程序并不好,但我看不到更好的解决方案(我认为你不能摆脱预安装的程序php
并且/usr/bin
从 PATH 中删除也不是很好......)。