如何在 Mac OS X 中升级 PHP?
Posted
技术标签:
【中文标题】如何在 Mac OS X 中升级 PHP?【英文标题】:How do I upgrade PHP in Mac OS X? 【发布时间】:2011-02-01 08:04:01 【问题描述】:我觉得这是一个非常迟钝的问题,但奇怪的是,这个问题没有得到很好的记录。
我想升级php,但是有几个问题:
没有内置的包管理器。 MacPorts 不会将 php 识别为已安装的软件包,因为它本身并没有安装 PHP。 运行locate php
表示可能存在许多依赖项。
我不知道 php 是如何安装的,因为它包含在操作系统中,所以我不知道我应该从源代码安装还是下载二进制文件。我也不知道在不破坏依赖关系的情况下卸载以前版本的正确方法。
我在 Leopard 上运行。我有一种感觉,Apple 不希望你升级。购买 Snow Leopard 并升级会解决这个问题(以及未来的类似问题)吗?
【问题讨论】:
aerendir.me/2015/08/01/how-to-upgrade-php-built-in-your-mac-osx 【参考方案1】:没有内置的包管理器。 MacPorts 不会将 php 识别为已安装的包,因为它本身并没有安装 PHP。
您仍然可以使用 MacPorts 安装它。 sudo port install php52
(或您想要的任何版本)将安装 PHP。
它不会覆盖 Apple 提供的版本。它将安装在/opt/local
下。您可以将/opt/local
添加到$PATH
的开头,并在您的Apache 配置中使用MacPorts 版本。
【讨论】:
php版本包名是怎么弄出来的?【参考方案2】:升级到 Snow Leopard 并不能解决使 PHP 保持最新的主要问题。 Apple 并不总是将其捆绑的第三方软件与操作系统更新保持同步。依靠 Apple 为您提供所需的错误修复/安全更新是自找麻烦。
此外,我建议通过 MacPorts 安装(并进行必要的配置以使用它而不是 Apple 的 PHP),而不是尝试升级 Apple 提供的 PHP。您对/usr/bin
所做的任何事情都有可能被未来的 Apple 更新所覆盖。
【讨论】:
Apple 的安全更新 2010-002 将 Leopard 的 PHP 更新到 5.2.12。 PHP 5.3.1 自带雪豹。【参考方案3】:您可能想查看 Marc Liyanage 的 PHP 包。它带有一个不错的 Mac OS X 安装程序包,您可以双击它。他一直保持最新状态。
http://php-osx.liip.ch/
此外,虽然升级到 Snow Leopard 不会帮助您在未来进行 PHP 更新,但它可能会为您提供更新版本的 PHP。我正在运行 OS X 10.6.2,它有 PHP 5.3.0。
【讨论】:
谢谢!!我很紧张这个过程会变得更加困难。 请注意,这个包不会覆盖 Mac上原来的PHP版本,所以它不能开箱即用,你需要将新目录添加到@ 987654322@。使它工作的说明在那个页面上(我第一次很愚蠢地错过了那个)。 哇!在花了几个小时试图通过 Homebrew 进行安装过程之后,我尝试了这个。超级快,超级简单,而且它实际上是开箱即用的!谢谢! 绝对是最好的选择。如此轻松(只要你记得确保@CodedMonkey 指出的$PATH
是正确的)
另外,值得一提的是,尽管安装在单独的目录中,但安装程序会配置 Apache,以便您的所有 Web 应用程序都使用新安装的 php 版本。因此,PATH 技巧只有在您从命令行运行 php 时才有用。如果您想运行 Web 应用程序,安装程序会处理所有事情。【参考方案4】:
最好的升级方式是 从源代码编译它
看看这个可能对你有帮助的教程
http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html
【讨论】:
你应该避免简单地链接到一个资源而不在这里总结它的内容。当链接断开时,您的答案将不再相关。 是的……链接坏了! :-D【参考方案5】:选项#1
按照here 的推荐,this site 提供了一种方便、最新的单衬。
这不会覆盖系统上 PHP 的基本版本,而是将其干净地安装在 /usr/local/php5 中。
选项 #2
我的首选方法是 install via Homebrew。
【讨论】:
你的意思是this?理想情况下,您会在这里总结所有内容,以防万一链接中断和简单起见!还值得注意的是它也不会取代苹果 php。 ;P【参考方案6】:在我继续之前,我有最新版本 (v5.0.15) 的 OS X Server (是的,太可怕了,我知道......但是,网络服务器似乎可以工作A-OK)。我搜索了好几天试图更新(或至少让 Apache 指向)新版本的 PHP。我的mcrypt
和其他扩展都不起作用,我从http://php-osx.liip.ch/ 和其他教程 无数次地安装和重新安装了 PHP,直到我终于注意到在一个评论中写的一点信息在 OS X Server 保留的许多不同的 .conf
文件中,OS X Server 在加载 Apache httpd.conf
(位于 /etc/apache2/httpd.conf
) 之前加载它自己的自定义 .conf
文件。服务器文件位于:
/Library/Server/Web/Config/apache2/httpd_server_app.conf
当你打开这个文件时,你必须像这样注释掉这一行:
#LoadModule php5_module libexec/apache2/libphp5.so
然后添加正确的路径(如果你是通过http://php-osx.liip.ch/链接安装的应该已经安装了):
LoadModule php5_module /usr/local/php5/libphp5.so
经过这个修改,我的PHP终于加载了正确的PHP安装。话虽如此,如果事情变得不稳定,那可能是因为 OS X 在安装 OS X 时可以脱离 PHP 的本机安装。要恢复,只需撤消上面的更改。
无论如何,希望这对花费无数小时的其他人有所帮助。
【讨论】:
这条评论为我节省了很多时间!【参考方案7】:我用这个:https://github.com/Homebrew/homebrew-php
命令是:
$ xcode-select --install
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew options php56
$ brew install php56
然后在您的.bash_profile
或.bashrc
中配置
# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
【讨论】:
请注意,这不会更新嵌入式 PHP,而是安装一个新的。尽管存在混淆,但我在安装两个版本时遇到了严重的麻烦...... 我试过这个,也有很多问题,比如启动时 bash 崩溃,我不得不重新安装它。尝试这些命令时要小心,并注意 Brew 建议您在处理这些行时应该执行的操作。 请注意 homebrew/dupes 和 homebrew/versions 现在已被弃用。【参考方案8】:将php7升级到最新稳定版brew upgrade php7
或者对于 php5.X 到最新的稳定版本
brew upgrade php56
使用brew list
检查安装的版本
【讨论】:
【参考方案9】:节省击键,这适用于 MacOS Sierra:
$ brew install homebrew/php/php71
$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
【讨论】:
【参考方案10】:使用以下命令在终端中检查您当前的 php 版本,
$ php -v
您会在终端中看到当前的 php 版本,如果您想使用 php concat 升级您的 php 版本,则在终端中运行下一个命令,并使用喜欢的版本,
$ brew install homebrew/php/php71
如果安装完成php版本升级,请重启终端并运行命令。
$ php -v
现在您可以在终端中看到当前的 php 版本....谢谢
【讨论】:
【参考方案11】:我认为一种简单的方法是:
1 - 检查您当前的 PHP 在哪里:
$ which php
$ /usr/local/bin/php
你看到了吗?通常,我们运行的命令是 /usr/local/bin 中的一个链接,所以...
2 - 取消链接 PHP 的当前链接
unlink /usr/local/bin/php
如果您愿意,在取消链接之前,检查路径然后删除 php 文件(执行 ls -al /usr/local/bin
| grep php 然后 rm -rf
进入所需路径)
3 - 安装 PHP 7.1
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
4 - 创建新链接(使用您已安装的 php 7.1 bin)
ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php
就像我说的,我认为这是一种简单的方式。
【讨论】:
【参考方案12】:使用这个命令:
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
【讨论】:
【参考方案13】:您可以使用 curl 来更新 php 版本。
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3
最后一步:
export PATH=/usr/local/php5/bin:$PATH
查看升级版本
php -v
【讨论】:
以上是关于如何在 Mac OS X 中升级 PHP?的主要内容,如果未能解决你的问题,请参考以下文章
如何将Mac OS X10.9下的Python2.7升级到最新的Python3.3
如何将Mac OS X10.10.5下的Python2.7升级到最新的Python3.5
如何在 Mac OS X Mojave 上更新 php.ini?