首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux + Apache + PHP4 + FastCGI + Oracle + MySQL 環境整合部署指南

     編輯:MySQL 資料庫相關知識

本文記錄一套經典 LAMPO 環境(Linux/Apache/PHP/Oracle/MySQL)構建過程,採用 FastCGI 模式運行 PHP,適用於歷史系統維護或教學參考。

軟件版本清單

組件版本/包名
作業系統Linux(需 X Window 支援 Oracle 安裝)
Oracle Client8.1.6 (oracle8161.tar.gz)
MySQL3.22.32 (RPM 包:server/client/devel/shared)
Apache1.3.12 (源碼編譯)
PHP4.0.0 (源碼編譯)
FastCGImod_fastcgi 2.2.4 + FCGI Perl 模塊 0.53
Perl DBIDBI-1.13, DBD-Oracle-1.03, Msql-Mysql-modules-1.2209

關鍵部署步驟

1. Oracle 客戶端安裝與環境變量

# /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
  • 建立 oracle 用戶/組,運行 runInstaller 圖形化安裝
  • 選擇 Client/Application User 模式(應用服務器不裝數據庫實例)
  • 配置 SQL*Net8 測試遠程連接

2. MySQL RPM 安裝

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

3. Perl DBI/DBD 編譯安裝

# 通用流程
perl Makefile.PL && make && make test && make install
# Msql-Mysql-modules 選擇 1(MySQL) 和 y(支持 Mysql.pm)

4. Apache + PHP + FastCGI 統一編譯

# 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

5. 關鍵配置文件調整

  • httpd.conf:AddType application/x-httpd-php .php .phtml、FastCGI Handler 映射、ScriptAlias、DirectoryIndex 包含 index.fcgi
  • apachectl:注入 Oracle 環境變量(ORACLE_HOME、NLS_LANG 等)
  • srm.conf:PassEnv 透傳 Oracle 相關變量至 CGI 進程
  • php.ini:從 php.ini-dist 複製調整

6. FastCGI 運行目錄與 Perl 測試腳本

mkdir /home/httpd/html/fcgi
# test.fcgi 示例:持久 Oracle 連接 + 參數解析
#!/usr/bin/perl
use FCGI; use DBI;
while (FCGI::accept() >= 0) { ... }

遺留系統維護提示

  1. PHP 4 / MySQL 3.22 / Apache 1.3 均已停止維護,存在已知安全漏洞
  2. 生產環境建議遷移至 PHP 8.x + MySQL 8.0 + Apache 2.4 / Nginx + PHP-FPM
  3. Oracle 8i 早已生命週期結束,升級至 19c/21c 並使用 OCI8 現代驅動
  4. FastCGI 模式已被 PHP-FPM 取代,性能與管理均更優

本文僅供歷史版本環境重現參考,新項目請採用現代技術棧。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved