本文記錄一套經典 LAMPO 環境(Linux/Apache/PHP/Oracle/MySQL)構建過程,採用 FastCGI 模式運行 PHP,適用於歷史系統維護或教學參考。
| 組件 | 版本/包名 |
|---|---|
| 作業系統 | Linux(需 X Window 支援 Oracle 安裝) |
| Oracle Client | 8.1.6 (oracle8161.tar.gz) |
| MySQL | 3.22.32 (RPM 包:server/client/devel/shared) |
| Apache | 1.3.12 (源碼編譯) |
| PHP | 4.0.0 (源碼編譯) |
| FastCGI | mod_fastcgi 2.2.4 + FCGI Perl 模塊 0.53 |
| Perl DBI | DBI-1.13, DBD-Oracle-1.03, Msql-Mysql-modules-1.2209 |
# /etc/profile 追加
export ORACLE_HOME=/opt/oracle8i/u01
export ORACLE_BASE=/opt/oracle8i
export ORACLE_SID=ORCL
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
runInstaller 圖形化安裝rpm -ivh MySQL-3.22.32-1.i386.rpm
rpm -ivh MySQL-client-3.22.32-1.i386.rpm
rpm -ivh MySQL-devel-3.22.32-1.i386.rpm
rpm -ivh MySQL-shared-3.22.32-1.i386.rpm
# 通用流程
perl Makefile.PL && make && make test && make install
# Msql-Mysql-modules 選擇 1(MySQL) 和 y(支持 Mysql.pm)
# Apache 預編譯
cd apache_1.3.12 && ./configure --prefix=/usr/local/apache
# PHP 編譯(關鍵:指定 Apache 源碼路徑與 Oracle/MySQL 路徑)
cd ../php-4.0.0
./configure --with-apache=../apache_1.3.12 \
--with-mysql --with-oracle=$ORACLE_HOME --with-oci8=$ORACLE_HOME \
--enable-track-vars
make && make install
# 遷移 FastCGI 模塊
mv ../mod_fastcgi_2.2.4 apache_1.3.12/src/modules/fastcgi
# Apache 最終編譯(激活 PHP 與 FastCGI 靜態模塊)
cd ../apache_1.3.12
./configure --prefix=/usr/local/apache \
--activate-module=src/modules/php4/libphp4.a \
--activate-module=src/modules/fastcgi/libfastcgi.a
make && make install
httpd.conf:AddType application/x-httpd-php .php .phtml、FastCGI Handler 映射、ScriptAlias、DirectoryIndex 包含 index.fcgiapachectl:注入 Oracle 環境變量(ORACLE_HOME、NLS_LANG 等)srm.conf:PassEnv 透傳 Oracle 相關變量至 CGI 進程php.ini:從 php.ini-dist 複製調整mkdir /home/httpd/html/fcgi
# test.fcgi 示例:持久 Oracle 連接 + 參數解析
#!/usr/bin/perl
use FCGI; use DBI;
while (FCGI::accept() >= 0) { ... }
本文僅供歷史版本環境重現參考,新項目請採用現代技術棧。