正如我们大多数 ubuntu 用户所知,12.04 附带其自己的 Perl 和 PHP 版本(5.3.10)。
最近我从源代码编译了 apache 2.2.22 和 PHP 5.4.5,当我打开终端时php -v
,它显示5.4.5。
然而phpinfo()
它显示预装5.3.10这意味着 apache2 正在使用该版本。我是否必须删除5.3.10? 或者配置 apache2 以便它使用 php5.4.5?
如果我应该配置它,请告诉我如何配置以及配置什么sudo nano
。顺便说一下,它仅用于学习 HTML/CSS/PHP,我在 Ubuntu 12.04 桌面上。
答案1
手动升级 Ubuntu 软件包不是一个好习惯,建议等待 Ubuntu 升级自带的特定软件包的升级。
但是,如果您必须使用此方法,以下是如何通过 PPA 将 PHP 升级到 v5.4.x 的演练:http://www.zimbio.com/Ubuntu+Linux/articles/D_AsJR2qAL6/How+Upgrade+PHP+5+4+Ubuntu
由于您报告了“php -v”和 phpinfo() 版本差异,“php -v”为您提供 php cli 安装的版本,而 phpinfo() 将为您提供作为 Apache 模块安装的版本。
如果您没有在任何地方使用 cli php,那么您应该可以从 Apache 运行 php 脚本。但理想情况下,您应该修复此问题。我认为问题在于您的 Apache 和 libapache2-php5-mod 是通过 ubuntu 软件包安装的,而您是从源代码编译 php 的。当您通过 apt-get install 安装 libapache2-php5-mod 时,它会从 repo 中获取相关的 php 软件包作为依赖项,如中所示packages.ubuntu.com/hardy/libapache2-mod-php5您需要卸载 Apache,然后从源代码安装 apache,而不是使用 ubuntu 存储库来执行您想要执行的操作。
我建议您不要从源代码安装 PHP,而是使用上面的 PPA 方法。