注意:整合php和apache-1.X.X请不要用这种方法安装,很简单的就可以解决
听说php-4.2.2之前版本有个大bug,所以马上更新apache和php。
首先,下载了php-4.2.2.tar.gz和httpd-2.0.39.tar.gz(apache的2.0版本)。
如果你不知道从哪里下就到他们的老家找吧(http://www.php.net)(http://www.apache.org)。
接着解压缩他们:
tar zxvf XXX.tzg.gz
我首先安装apache
./configure --prefix=/path/to/apache (/path/to/apache是你要安装apache的路径,我安装在/usr/local/apache/)
make clean (可以不用,但建议你走这一步)
make
make install
因为php-4.2.2对apache-2.0.39不太友好(原谅她们吧,毕竟是免费的)
所以要对php-4.2.2的安装文件作些手脚
在php安装目录里找到/ext/standard/microtime.c
在他的第31行
#ifedf HAVE_SYS_RESOURCE_H"
变成
/* #ifedf HAVE_SYS_RESOURCE_H */
同样33行
#endif
变成
/* #endif */
也就是32行必需而已
但这还是不能解决问题
编辑php安装目录中/sapi/apache2filter/php_functions.c 第93行
#if !MODULE_MAGIC_AT_LEAST(20020506,0)
改为
#if !AP_MODULE_MAGIC_AT_LEAST(20020506,0)
或者改为
#if MODULE_MAGIC_NUMBER < 20020506
好了终于可以安装了
./configure --with-mysql --with-zlib --with-apxs2=/usr/local/apache/bin/apxs
/*--with-apxs2=/usr/local/apache/bin/apxs 后边是你的apache路径不是我的*/
make clean
make
make install -i
最后一步加了 -i,还有install-sapi问题没修正,所以……
不过逃过这个错误,地球照样转……
剩下的问题
在httpd.conf里
LoadModule php4_module modules/libphp4.so
/*如果安装正确应该自己就有了
AddType application/x-httpd-php .php .php4 .php3
.phtml /*自己加吧
AddType application/x-httpd-php-source .phps
/*自己加吧
DirectoryIndex index.html index.htm index.shtml
index.php index.php4 index.php3 index.phtml index.cgi
如果你用不着register_globals,到此也许ok了
php-4.2默认把register_globals设为off,而且用不着php.ini文件;如果要用
就加一个php.ini文件在/usr/local/lib里
内容只需一句
register_globals=On
现在万事大吉了, 如果你要用cgi,跟apache-1.3.X的一样设置,很easy;自己找个教程看一下吧。
本文转自cc论坛
欢迎评论或投稿