如何在Mac OS X中升级PHP?

如何在Mac OS X中升级PHP?,php,macos,macports,Php,Macos,Macports,我觉得这是一个非常迟钝的问题,但奇怪的是,这个问题没有很好的记录 我想升级PHP,但有几个问题: 没有内置的包管理器。MacPorts不承认php是已安装的软件包,因为它没有安装php本身 运行locate php表明可能存在许多依赖项 我不知道php是如何安装的,因为它包含在操作系统中,所以我不知道是应该从源代码安装还是下载二进制文件。我也不知道如何在不破坏依赖关系的情况下卸载以前的版本 我在跑豹子。我觉得苹果公司不希望你升级。购买雪豹和升级会解决这个问题吗(以及未来的类似问题) 没有内置

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

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

  • 没有内置的包管理器。MacPorts不承认php是已安装的软件包,因为它没有安装php本身
  • 运行
    locate php
    表明可能存在许多依赖项
  • 我不知道php是如何安装的,因为它包含在操作系统中,所以我不知道是应该从源代码安装还是下载二进制文件。我也不知道如何在不破坏依赖关系的情况下卸载以前的版本
我在跑豹子。我觉得苹果公司不希望你升级。购买雪豹和升级会解决这个问题吗(以及未来的类似问题)

没有内置的包管理器。MacPorts不承认php是已安装的软件包,因为它没有安装php本身

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


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

升级到雪豹并不能解决让PHP保持最新的主要问题。苹果并不总是将其捆绑的第三方软件与操作系统更新保持同步。依靠苹果公司为您提供所需的bug修复/安全更新是自找麻烦


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

您可能想看看Marc Liyanage的PHP包。它有一个很好的MacOSX安装程序包,你可以双击它。他把它更新得很快

此外,尽管升级到Snow Leopard不会帮助您在将来进行PHP更新,但它可能会为您提供更新版本的PHP。我正在运行OS X 10.6.2,它有PHP5.3.0。

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

请参阅本教程,它可能会对您有所帮助

选项#1

根据建议,提供了方便、最新的单层衬里

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

选项2


我的首选方法是只使用。

在继续之前,我有最新版本(v5.0.15)的OS X Server(是的,很糟糕,我知道……但是,web服务器似乎工作正常)。为了更新(或者至少让Apache指向)PHP的新版本,我花了好几天时间到处搜索。我的
mcrypt
不起作用,与其他扩展一起,我从和其他教程中无数次安装和重新安装了PHP,直到我最终注意到OSX服务器保存的许多不同的
.conf
文件中的一个注释中写入了少量信息,即OSX服务器在加载Apache之前加载自己的自定义
.conf
文件
httpd.conf
(位于
/etc/apache2/httpd.conf
)。服务器文件位于:

/Library/Server/Web/Config/apache2/httpd_server_app.conf
打开此文件时,必须注释掉这一行,如下所示:

#LoadModule php5_module libexec/apache2/libphp5.so
然后添加正确的路径(如果已通过链接安装,则应已安装):

修改之后,我的PHP最终加载了正确的PHP安装。这就是说,如果事情变得不稳定,那可能是因为OSX在安装OSX时是为了完成PHP的本机安装。要恢复,只需撤消上面的更改

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

我用这个:

命令是:

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56
然后在
.bash\u配置文件中进行配置
.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

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

brew upgrade php56

使用
brew列表
检查已安装版本

按键保存,这在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
php -v

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

$ php -v
您可以在终端中看到当前的php版本,如果您想用php concat升级php版本,则可以在终端中运行下一个命令,版本如下:

$ brew install homebrew/php/php71
如果已安装php版本升级并运行命令,请重新启动终端

$ php -v

现在您可以在terminal中看到当前的php版本了……谢谢

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

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-安装PHP7.1

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
4-创建新链接(使用已安装的PHP7.1 bin)

正如我所说,我认为这是一个简单的方法。

使用以下命令:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.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

苹果的安全更新2010-002将Leopard的PHP更新为5.2.12。雪豹附带PHP 5.3.1。您应该避免只链接到资源而不在此处汇总其内容。当链接断开时,您的答案将不再相关。是的……链接断开了!:-谢谢你!!我担心这个过程会更加困难。请注意,这个软件包不会覆盖Mac上的原始PHP版本,因此它不能开箱即用,您需要将新目录添加到
路径
。让它工作的说明
php -v