程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Apache2.0.35和PHP4.3-Dev的集成

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

編輯:關於PHP編程

當 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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved