如何在Mac OS X中升级PHP?

问题描述 投票:94回答:12

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

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

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

我在Leopard上运行。我有一种感觉Apple不希望你升级。是否会购买Snow Leopard并升级解决这个问题(以及未来的问题)?

php macos macports
12个回答
87
投票

您可以查看Marc Liyanage的PHP包。它有一个漂亮的Mac OS X安装程序包,您可以双击。他让它保持最新状态。

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

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


0
投票

使用此命令:

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

-1
投票

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

看到本教程可能对您有所帮助

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


-2
投票

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

brew upgrade php56

使用brew list检查已安装的版本


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"

12
投票

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

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

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


8
投票

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

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

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


6
投票

选项1

正如推荐的herethis site提供了一个方便,最新的一个班轮。

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

选项#2

我首选的方法是install via Homebrew


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的本机安装问题。要恢复,只需撤消上面的更改。

无论如何,希望这对任何花费无数个小时的人都有帮助。


2
投票

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

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


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

2
投票

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

$ php -v

您在终端中看到当前的php版本,如果您想使用php concat升级您的php版本并且版本喜欢为,则在终端中运行下一个命令,

$ brew install homebrew/php/php71

如果你安装了php版本升级,请重启终端并运行命令。

$ php -v

现在你在终端看到当前的php版本....谢谢

© www.soinside.com 2019 - 2024. All rights reserved.