編譯 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