apache2运行不同版本的PHP


apache2 running different version of PHP

我正在运行Ubuntu 12.0,apache2。我手动安装了PHP 5.2.17。我还安装了sudo apt-get install libapache2-mod-php5

当我键入时

显示php --version

PHP 5.2.17(cli)(内置时间:2015年12月27日01:01:25)版权所有(c)1997-2010 PHP Group

-然而,当我使用php脚本时

<?php
echo 'Current PHP version: ' . phpversion();
echo phpversion('tidy');
?>
  • 这表明我在跑步当前PHP版本:5.3.10-1ubuntu3.21

我不知道5.3.10是从哪里来的,但我能做些什么让Apache运行5.2.17吗?非常感谢。Ahdee

Apache将加载/使用与命令行上的二进制文件不同的二进制文件。将从phpinfo()到php二进制文件的路径与通过$ which php在命令行上找到的路径进行比较可能会显示出差异。

要为mod-php5安装特定版本的php,这里有一个方便的指南。您也可以考虑从源代码编译特定版本的PHP,尽管这会变得稍微复杂一些,并且需要持续维护才能进行修补。

正如本指南所建议的,您确实应该升级到更新的版本。与本文的建议相反(在撰写时是准确的),PHP 5.5是目前仍在接受(仅限安全性)支持的最低版本。

Ubuntu LTS将安全修复程序移植到其支持的php包中。如果您选择使用不在主存储库中的自定义php包(例如,您偏离了特定版本或决定编译您的首选版本),您将不会收到针对您的php版本的这些安全补丁,这将大大降低应用程序的安全性。