在 Ubuntu 14.04 上选择 php 版本(php vs php5)

Posted

技术标签:

【中文标题】在 Ubuntu 14.04 上选择 php 版本(php vs php5)【英文标题】:Choose php version on Ubuntu 14.04 (php vs php5) 【发布时间】:2015-10-13 16:35:15 【问题描述】:

我正在尝试在 Laravel 和 Symfony 上启动一些项目

问题如下

当我在终端上写这个时:

php -v

我明白了:

PHP 5.6.11 (cli)(构建时间:2015 年 7 月 13 日 09:19:13)

版权所有 (c) 1997-2015 The PHP Group

Zend Engine v2.6.0,版权所有 (c) 1998-2015 Zend Technologies

当我写这个时:

php5 -v

我明白了:

PHP 警告:模块“PDO”已加载到第 0 行的未知中

PHP 5.5.9-1ubuntu4.11 (cli)(构建时间:2015 年 7 月 2 日 15:17:32)

版权所有 (c) 1997-2014 The PHP Group

Zend Engine v2.5.0,版权所有 (c) 1998-2014 Zend Technologies

使用 Zend OPcache v7.0.3,版权所有 (c) 1999-2014,由 Zend 技术

问题是我在 php 5.6.11 版本中有几个模块,而我安装的所有模块都在 5.5.9 版本中。对于这两个框架,我需要 5.5.9 版本的模块,但它们获得的是 5.6.11 版本。

英语不是我的母语,如果我在写这篇文章时犯了一些错误,请见谅。

【问题讨论】:

【参考方案1】:

您是否有机会手动编译了其中一个版本?

拥有 PHP 5.6 的所有模块的最佳选择是遵循以下指南:

http://www.dev-metal.com/install-setup-php-5-6-ubuntu-14-04-lts/

它使用来自 ondrej 的一些存储库,这些存储库为最新的 ubuntu 版本维护不同的 PHP 版本。

【讨论】:

我这样做了,它更新了 php5 版本。现在我在 5.6.11 版本中同时拥有(php 和 php5),但仍然无法正常工作。感谢您快速回答。我对此很陌生。 所以,如果我理解正确,你需要 php 5.5.9 和所有模块。而且你不需要 PHP 5.6? 我需要任何 5.4+ 版本,带有模块 mbstring、mcrypt 和 openssl。当我执行 php -m 时,它会显示一些模块,当我执行 php5 -m 时,它会显示我需要的模块。【参考方案2】:

好的,您可以尝试以下方法:

apt-get install php5-mcrypt php5-mbstring php5-openssl 

之后,您可以执行以下命令(以 root 身份):

rm -rf /usr/bin/php && ln -s /usr/bin/php5 /usr/bin/php 

这应该将 php 命令链接到您的 php5 命令,并且您将安装必要的模块。

【讨论】:

第一个命令显示“Cant locate php5-mbstring package”和“Can't locate php5-openssl package”,第二个命令我没有/usr/bin/php 文件夹。另外,“sudo php -i | grep '配置文件'”返回“配置文件(php.ini)路径=> /usr/local/lib加载的配置文件=>(无)” 您最初是如何安装这些 PHP 版本的? php5是用“apt-get install php5”安装的,php版本不是我安装的。【参考方案3】:

终于解决了。安装了php版本管理器“phpbrew”,它允许你拥有不同版本的php,它还允许你管理扩展。

【讨论】:

以上是关于在 Ubuntu 14.04 上选择 php 版本(php vs php5)的主要内容,如果未能解决你的问题,请参考以下文章

2011 年的 Java:线程套接字 VS NIO:在 64 位操作系统和最新 Java 版本上选择啥?

如何在 Ubuntu 14.04 上更改 php-cli 版本?

逻辑上选择类别和子类别(php,joomla,javascript,ajax)

无法在奥利奥上选择文件

无法在 iOS 8 上选择联系人

jQuery UI选项卡 - 如何在悬停上选择选项卡