投稿说明 bitsCN.com > 编程/数据库 > PHP >
Apache2.0.35和最新版本的PHP4.3-Dev的集成
标签: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 也会提升本站的价值。我相信!
推荐阅读
-
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
-
本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ...
[详细]
-
QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ...
[详细]
-
本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ...
[详细]
-
本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ...
[详细]
-
2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ...
[详细]
-
尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ...
[详细]
-
本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ...
[详细]
-
本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ...
[详细]
-
本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ...
[详细]
-
本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ...
[详细]
-
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
-
本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ...
[详细]
-
Tags | 热门标签
RankList | 热门文章
-
1学习spring cloud整合mybatis时的常见问题及解决方法
-
2自定义边框_Openlayers技巧之绘制选中要素正方形边框以及自定义不规则多边形样式船讯...
-
3YANG,NETCONF,RESTCONF,XML之间的关系
-
4StringBuffer源码分析
-
5使用特殊font字体
-
6【巨杉数据库Sequoiadb】SAC可以单独安装吗?
-
7UML 包图
-
8借助PL/SQL Developer将Oracle某用户数据表导出
-
9時間API用詞梳理
-
10JSP页面中EL表达式语言的使用详解
-
11c# – 旋转Microsoft.XNA.Framework.Rectangle并根据该旋转创建一个矩形?
-
12XAF新手入门类型子系统(Types Info Subsystem)
-
13JS设计模式之装饰者模式
-
14无法设置默认的Nhibernate隔离级别(例如通过映射) - Cannot set a default Nhibernate isolation level (eg via mapping)
-
15smiles、sdf 小分子可视化展示标记软件DataWarrior、chemdraw
标签: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 也会提升本站的价值。我相信!
推荐阅读
-
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]Tags | 热门标签RankList | 热门文章
- 1学习spring cloud整合mybatis时的常见问题及解决方法
- 2自定义边框_Openlayers技巧之绘制选中要素正方形边框以及自定义不规则多边形样式船讯...
- 3YANG,NETCONF,RESTCONF,XML之间的关系
- 4StringBuffer源码分析
- 5使用特殊font字体
- 6【巨杉数据库Sequoiadb】SAC可以单独安装吗?
- 7UML 包图
- 8借助PL/SQL Developer将Oracle某用户数据表导出
- 9時間API用詞梳理
- 10JSP页面中EL表达式语言的使用详解
- 11c# – 旋转Microsoft.XNA.Framework.Rectangle并根据该旋转创建一个矩形?
- 12XAF新手入门类型子系统(Types Info Subsystem)
- 13JS设计模式之装饰者模式
- 14无法设置默认的Nhibernate隔离级别(例如通过映射) - Cannot set a default Nhibernate isolation level (eg via mapping)
- 15smiles、sdf 小分子可视化展示标记软件DataWarrior、chemdraw