![OSX:安装自定义 PHP 二进制文件](https://linux22.com/image/1284399/OSX%EF%BC%9A%E5%AE%89%E8%A3%85%E8%87%AA%E5%AE%9A%E4%B9%89%20PHP%20%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6.png)
我做了很多研究,试图弄清楚为什么我的 Mac(Snow Leopard)上安装了这个“旧”版本的 PHP。我尝试了 MAMP,如果你只想要一个 *AMP 堆栈,而不需要太多配置手段(尤其是来自 Unix SysAdmin),那么 MAMP 就很不错。我尝试了 XAMPP,虽然可以运行,但与 MAMP 的情况相同。我还尝试了 MacPorts 路线,这很好,但我最近卸载了 MacPorts,转而使用我的新爱好 HomeBrew。
因此,我使用 HomeBrew 安装了自定义版本的 PHP,并将二进制文件安装在 /usr/local/bin 中。
经过一番研究,我才发现 Apache (httpd) 和 PHP 默认安装在 Snow Leopard 中。我看到不同的来源说可以删除它,而其他人说可以保留它。由于我有 Linux/Unix 背景,我明白一个简单的解决方案是符号链接/usr/bin/php
到/usr/local/bin/php
(并将/usr/bin/php
(binary) 重命名为其他名称,例如/usr/bin/php_5.3.4
。对我来说,这有点过头了,可能会破坏一些内部 OSX 内容,因为启用内置 apache 只是在“共享”下打开 Web 共享。
所以,我不想删除预安装的 PHP 二进制文件。
话虽如此,对于这种类型的设置有什么建议?我基本上会使用 homebrew 来设置 MAMP 堆栈,这样我就可以完全控制我的设置,并且我始终可以运行前沿技术和/或拥有多个版本的 PHP、MySQL 和/或 apache/nginx。
我的想法是只更新环境变量并将其添加/usr/local/bin
到 PATH 字符串的开头 ( launchctl getenv PATH
)。例如,这是我的 PATH 是/usr/bin:/bin:/usr/sbin:/sbin
。我可能会运行以下命令:
launchctl setenv PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
最后,我会将以下内容添加到我的.bash_profile
文件中:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
launchctl setenv PATH $PATH
这样做的话,我应该可以/usr/local
首先使用二进制文件来处理自定义内容,例如 git、mysql、apache、php 等。不确定这是否可行。希望你们能为我指明正确的方向。