php-4.2.2和apache-2.0.39得不完美整合

ZDNet软件频道 时间:2002-09-18 作者:NULL |  我要评论()
本文关键词:
本文介绍如何安全的配置php-4.2.2和apache-2.0.39 。
安装环境:redhat 7.1  mysql  perl

注意:整合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论坛


责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134