如何在 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?

在 Mac OS X Mountain Lion Server 中设置 PHP 路径

如何配置Mac OS X 与 Windows之间共享网络

如何在 MAC OS X 10.7 Lion 上安装多个 XAMPP 版本或多个 PHP 版本