热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Apache2.0.35和PHP4.3-Dev的集成

当Apache2.0.35以正式版本发布时,发现网络上很少有提起能成功集成Apache2和PHP4的。就连著名的PhpBuilder.com上的论坛里也充满了消极的讨论。我是属于那种不敢气馁的家伙,昨天晚上工作到2:00AM没有成果后,今天SyntaxHighlighter.al

当 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 也会提升本站的价值。我相信!
推荐阅读
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 在探讨如何高效处理大规模数据报表的分页展示之前,首先需要明确导致报表加载缓慢的主要原因。通常情况下,这主要是由于两个方面:一是查询条件过于宽泛,使得数据库返回的结果集包含数百万甚至更多的记录;二是前端渲染性能不足,无法高效处理大量数据。为了优化这一过程,可以从以下几个方面入手:优化查询条件,减少不必要的数据返回;采用分页查询技术,每次仅加载所需的数据;利用缓存机制,减少对数据库的频繁访问;提升前端渲染效率,使用虚拟滚动等技术提高用户体验。 ... [详细]
  • Issue with the Reserved Term HOSTS in System Configuration ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 如何运用蒙特卡洛方法计算NPV:计算机专业毕业设计遇到难题怎么办?
    许多计算机科学专业的学生在大学期间都会遇到这样的困扰:课堂上教授的内容往往偏向理论,实际应用的知识点讲解得较为浅显和概括,导致在进行毕业设计时,如运用蒙特卡洛方法计算净现值(NPV)等复杂问题时感到无从下手。本文旨在探讨如何通过深入理解和实践蒙特卡洛模拟技术,解决这类计算难题,为学生的毕业设计提供实用指导。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 在Ubuntu系统中,由于预装了MySQL,因此无需额外安装。通过命令行登录MySQL时,可使用 `mysql -u root -p` 命令,并按提示输入密码。常见问题包括:1. 错误 1045 (28000):访问被拒绝,这通常是由于用户名或密码错误导致。为确保顺利连接,建议检查MySQL服务是否已启动,并确认用户名和密码的正确性。此外,还可以通过配置文件调整权限设置,以增强安全性。 ... [详细]
  • 如何使用Python高效绘制矩形图形
    本文详细介绍了如何利用Python的Turtle库高效绘制矩形图形,适合初学者快速上手。通过具体示例代码,帮助读者理解Turtle库的基本绘图方法和技巧,同时探讨了在不同应用场景中绘制矩形的实际操作,为后续复杂图形的绘制打下坚实基础。 ... [详细]
  • 智能制造数据综合分析与应用解决方案
    在智能制造领域,生产数据通过先进的采集设备收集,并利用时序数据库或关系型数据库进行高效存储。这些数据经过处理后,通过可视化数据大屏呈现,为生产车间、生产控制中心以及管理层提供实时、精准的信息支持,助力不同应用场景下的决策优化和效率提升。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 本文深入探讨了数据库性能优化与管理策略,通过实例分析和理论研究,详细阐述了如何有效提升数据库系统的响应速度和处理能力。文章首先介绍了数据库性能优化的基本原则和常用技术,包括索引优化、查询优化和存储管理等。接着,结合实际应用场景,讨论了如何利用容器化技术(如Docker)来部署和管理数据库,以提高系统的可扩展性和稳定性。最后,文章还提供了具体的配置示例和最佳实践,帮助读者在实际工作中更好地应用这些策略。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
author-avatar
opheliamaizi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有