在 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 版本?