动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 Apache 2.0.35和PHP 4.3-Dev的集成

作者来源: 
阅读 1413 人次 , 2006-3-29 4:07:00 


当 apache 2.0.35 以正式版本发布时,发现网络上很少有提起能成功集成 apache 2 和 php 4 的。就连著名的 phpbuilder.com 上的论坛里也充满了消极的讨论。我是属于那种不敢气馁的家伙,昨天晚上工作到 2:00 am 没有成果后,今天继续苦战,从晚上 9:00 到 0:00 基本有了眉目,但是由于 freelamp.com 采用了 zope+fast_cgi 的组合和 apache 集成,而 fast_cgi 的 apache 2 版本还在开发中,所以目前本网站运行的版本依然为 1.3.24。

编译 apache 的命令是:

./configure --prefix=/apache2 --enable-auth-anon --enable-auth-dbm
--enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache
--enable-ext-filter --enable-proxy --enable-proxy-connect --enable-proxy-http
--enable-http --enable-dav --enable-rewrite --enable-so

我使用老套的 --enable-module=most --enable-shared=max 来编译时,发现并不能奏效, apache 2 不会让安装的模块 most,所以采用了以上长长的一大串选项。

然后就是 make;make install ,看起来很成功。修改 httpd.conf ,把侦听端口修改为 1234 ,然后用 www.freelamp.com:1234 上去看看,不错,那个繁体版本的 index.html.big 出来了。(怎么没有我们大陆的简体版本呢?)

我知道要让 php 跑起来会十分的困难,所以,对于昨天搞到十分深夜,依然没有结果的下场,我并不感到悲哀。希望正在读此文的你,能很快部署起 apache 2 和 php 4 的组合来。说实话,要安装 php ,必须先找到一个合适的 版本,现成的最新稳定版本是不能“组合”起来的。你必须去 snaps.php.net (这个网站有点慢!)下载 php4-latest.tar.bz2 ,然后才能用新版本编译。我使用了:

./configure --with-apxs2=/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-pgsql=/usr/local/pgsql

来开始,但是make 时发现系统报告:

00 -i/apache2/include -i/usr/local/src/php4-200204090000/zend -i/usr/local/mysql/include/mysql -i/usr/local/pgsql/include -i/usr/local/src/php4-200204090000/ext/xml/expat -d_reentrant -i/usr/local/src/php4-200204090000/tsrm -g -o2 -pthread -dzts -prefer-pic -c /usr/local/src/php4-200204090000/sapi/apache2filter/php_functions.c -o sapi/apache2filter/php_functions.lo
/usr/local/src/php4-200204090000/sapi/apache2filter/php_functions.c: in function `zif_apache_lookup_uri':
/usr/local/src/php4-200204090000/sapi/apache2filter/php_functions.c:91: parse error before `('
/usr/local/src/php4-200204090000/sapi/apache2filter/php_functions.c:92: parse error before `('
make: *** [sapi/apache2filter/php_functions.lo] error 1
[root@www php4-200204090000]#

看来,其中一个程序的括号有问题,是 addlong 的一个宏里面使用了 (long) 这样的定义,看来不是很有关系,就在 91 和 92 这两行里把这个 (long) 给去掉了。继续 make ,成功了!
然后,我不说,你也知道:make install 。

就这么简单!

不过,你需要在 httpd.conf 中加入下面的说明,以让 apache 认识 .php 文件:

addoutputfilter php .php
addinputfilter php .php
addtype text/html .php

apache 2 增加了很多新的特色,我在以前的文章就有过介绍。文章后面附加的连接,作为重要的参考资料对于您了解 apache 2.0 的特色会有所帮助。本站将继续翻译/创作出有关 apache 2.0 的文章来,就如我在论坛中所言,apache 2.0 会成为一个重要的产品,研究提升价值。研究 apache 2 也会提升本站的价值。我相信!

 本文TagsApache  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:在Windows下面从源代码编译PHP的步骤
· 下一篇:怎样在Apache上安装MOD_SSL
· 按比例控制图片显示(自动缩放函数)
· 转义符的一点总结
· 支持PHP的文本编辑器
· 日历类
· 在PHP中利用XML技术构造远程服务


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077