2010-03-05 65 views
1

我刚买了一台运行Ubuntu的VPS,我需要安装PHP 5.1.6的LAMP堆栈。 VPS没有安装PHP(使用php -v从shell中检查过)并安装了Apache/2.2.12。我从源代码安装了PHP 5.1.6,并使用Apache 2.2(使用libapache2-mod-php5)编译它,尝试了一个可以正常工作的phpinfo()测试,但phpinfo()显示PHP版本为5.2.1(启用了JSON ),而在shell中运行php-v显示为5.1.6。任何人有任何想法可能发生在这里?我需要确保我正在运行PHP 5.1.6。从源代码编译PHP 5.1.6 - php -v和phpinfo()版本差异

在此先感谢您的帮助!

+0

这不是超级用户的问题吗? – 2010-03-05 12:18:58

+0

这是一个普通的不受支持的VPS,我需要配置自己,这很好,只要我可以通过这个问题 – kenny99 2010-03-05 12:19:59

回答

2

php -v为您提供了php的cli安装版本,而phpinfo会为您提供安装为apache模块的版本。

如果你没有在任何地方使用cli php,你应该很好地运行php脚本关闭apache。 但理想情况下,你应该解决这个问题。

+0

谢谢s1d。问题是我需要使用版本5.1.6与Apache(对于web devt),所以我需要重新配置它。我使用“--with-apx2 =/path/to/apxs”(这是我上次错过的时间)再次运行./configure - 但重新启动apache后,我仍然显示PHP 5.2.1。我是否必须删除libapache2-mod-php5模块(不知道如何执行此操作,而不是重新安装apache)并重新运行./configure? – kenny99 2010-03-05 14:51:05

+0

我认为问题是这样的,当你从源代码编译php时,你的apache和libapache2-php5-mod已经通过ubuntu软件包安装。 当你通过apt-get install来安装libapache2-php5-mod时,它会从repo中取得相关的php包作为依赖,如http://packages.ubuntu.com/hardy/libapache2-mod- php5 您需要卸载apache,然后从源代码安装apache,而不是使用ubuntu repos来执行您想要的操作。 – s1d 2010-03-05 16:37:01

+0

嗯,这是有道理的,我确实使用apt-get来安装libapache2-php5-mod。好吧,所以我需要卸载Apache并从源代码重新安装,以及所有必要的模块,以检查如何正确执行该文档的时间! – kenny99 2010-03-05 16:46:31