102

我觉得这是一个非常迟钝的问题,但奇怪的是,这个问题没有得到很好的记录。

我想升级PHP,但有几个问题:

  • 没有内置的包管理器。MacPorts 不会将 php 识别为已安装的软件包,因为它本身并没有安装 PHP。
  • 运行locate php表明可能存在许多依赖项。
  • 我不知道 php 是如何安装的,因为它包含在操作系统中,所以我不知道我应该从源代码安装还是下载二进制文件。我也不知道在不破坏依赖关系的情况下卸载以前版本的正确方法。

我在 Leopard 上跑步。我有一种感觉,Apple 不希望你升级。购买 Snow Leopard 并升级会解决这个问题(以及未来的类似问题)吗?

4

13 回答 13

91

您可能想查看 Marc Liyanage 的 PHP 包。它带有一个不错的 Mac OS X 安装程序包,您可以双击它。他一直保持最新状态。

http://php-osx.liip.ch/

此外,虽然升级到 Snow Leopard 不会帮助您在未来进行 PHP 更新,但它可能会为您提供更新版本的 PHP。我正在运行 OS X 10.6.2,它有 PHP 5.3.0。

于 2010-03-26T19:52:28.820 回答
51

我用这个: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"
于 2016-03-11T02:28:14.313 回答
15

我认为一种简单的方法是:

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

就像我说的,我认为这是一种简单的方式。

于 2017-09-21T18:01:51.157 回答
8

没有内置的包管理器。MacPorts 不会将 php 识别为已安装的软件包,因为它本身并没有安装 PHP。

您仍然可以使用 MacPorts 安装它。sudo port install php52(或您想要的任何版本)将安装 PHP。

它不会覆盖 Apple 提供的版本。它将安装在/opt/local. 您可以添加/opt/local到您的开头$PATH,并在您的 Apache 配置中使用 MacPorts 版本。

于 2010-03-26T19:24:33.950 回答
6

选项1

正如这里所推荐的,这个站点提供了一个方便的、最新的一个班轮。

这不会覆盖系统上 PHP 的基本版本,而是将其干净地安装在 /usr/local/php5 中。

选项 #2

我的首选方法是通过 Homebrew 安装

于 2013-04-22T16:41:46.883 回答
3

在继续之前,我有OS X Server的最新版本 (v5.0.15) (是的,很糟糕,我知道……但是,Web 服务器似乎可以正常工作)。我搜索了好几天试图更新(或至少让 Apache 指向)新版本的 PHP。我mcrypt没有工作,连同其他扩展,我从http://php-osx.liip.ch/ 和其他教程无数次安装和重新安装 PHP,直到我终于注意到其中一个评论中写的一点信息OS X Server 保留的许多不同.conf文件是 OS X Server在加载 Apache (位于.conf之前加载它自己的自定义文件。服务器文件位于:httpd.conf /etc/apache2/httpd.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 的本机安装。要还原,只需撤消上面的更改。

无论如何,希望这对其花费无数小时的其他人有所帮助。

于 2015-12-01T00:47:59.717 回答
2

升级到 Snow Leopard 并不能解决使 PHP 保持最新的主要问题。Apple 并不总是将其捆绑的第三方软件与操作系统更新保持同步。依靠 Apple 为您提供所需的错误修复/安全更新是自找麻烦。

此外,我建议通过 MacPorts 安装(并进行必要的配置以使用它而不是Apple 的 PHP),而不是尝试升级 Apple 提供的 PHP。您所做的任何事情都有/usr/bin可能被未来的 Apple 更新所覆盖。

于 2010-03-26T19:35:31.153 回答
2

节省击键,这适用于 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
于 2017-04-18T13:47:12.837 回答
2

使用以下命令在终端中检查您当前的 php 版本,

$ php -v

您会在终端中看到当前的 php 版本,如果您想使用 php concat 升级您的 php 版本,则在终端中运行下一个命令,其版本如下:

$ brew install homebrew/php/php71

如果您完成了 php 版本升级安装并运行命令,请重新启动终端。

$ php -v

现在您可以在终端中看到当前的 php 版本....谢谢

于 2017-06-07T09:36:37.463 回答
0

使用这个命令:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
于 2018-01-01T08:36:04.647 回答
0

您可以使用 curl 来更新 php 版本。

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

最后一步:

export PATH=/usr/local/php5/bin:$PATH

检查升级版本

php -v
于 2020-04-18T00:45:10.667 回答
-1

最好的升级方法是从源代码编译

看这个可能对你有帮助的教程

http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html

于 2012-09-08T14:03:56.137 回答
-2

将 php7 升级到最新的稳定版本 brew upgrade php7 或将 php5.X 升级到最新的稳定版本

brew upgrade php56

用于brew list检查安装的版本

于 2016-10-13T08:28:00.763 回答