服务器上的PHP许久没有升级了,昨天得空,赶往PHP的官方网站,发现其最新版本已经达到了5.2.5,一时心痒难耐,wget源码回来,开始了编译过程。
编译的过程很顺利,还给PHP打上了增强安全性的Suhosin补丁,但在make install并重启Apache后,运行PHP程序,却总提示500或503错误。没办法,仔细检查每个步骤,重新再来一遍,同样的问题再次出现。真是奇了怪了,此次的编译跟服务器之前用的版本并无任何不同,难道PHP 5.2.5有了大变化不成?
遇到这类问题,自然是从log去检查。tail
Apache的错误日志,发现问题的症结是由于PHP无法加载,说PHP不是FastCGI模式(由于之前模块模式的PHP运行不稳定,我就采取了以
FastCGI方式运行PHP)。怎么会出现这种情况?我明明在编译时加了--enable-fastcgi,并没有使用--with-apxs2啊!无
奈,在命令行下检验一下php的版本情况吧。输入php
-v,果然,php当前的SAPI显示的是CGI,并不是CGI/FastCGI,乖乖,咋回事呢?突然想到列出PHP的bin目录看看,发现多了一个
php-cgi,文件大小与php差不了多少。运行php-cgi
-v,SAPI竟然就是CGI/FastCGI,原来,5.2.5的PHP编译成功后有两个php执行文件啊!这下子就好办了,将原先的php移走,mv php-cgi php,再次启动Apache,俺的PHP终于回来了!
Xooass
您觉得Suhosin有作用么?
平生一笑
既然有这个补丁,并且不影响系统运行,那还是打一个比较好,呵呵。
孙国强
我向在redhat 5升级我的php 你有没有成功的经验?QQ是252103862 希望等到您的帮助!