Home >Backend Development >PHP Tutorial >Apache2.0.35和最新版本的PHP4.3-Dev的集成_PHP

Apache2.0.35和最新版本的PHP4.3-Dev的集成_PHP

WBOY
WBOYOriginal
2016-06-01 12:35:46979browse

Apache

当 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 也会提升本站的价值。我相信
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn