在 Windows 環境同時運行 PHP 與 JSP(Tomcat)是早期全棧開發常見需求。Apache 作為前端靜態資源與 PHP 處理器,透過 mod_jk 模組將 JSP/ Servlet 請求轉發給 Tomcat。版本相容性是最大痛點:不同版本的 Apache、Tomcat、JDK 組合可能導致整合失敗。
| 元件 | 建議版本 | 備註 |
|---|---|---|
| JDK | j2sdk-1.4.2 | 環境變數 JAVA_HOME、PATH 需正確設定 |
| Apache | 2.0.49 (Win32, no_ssl) | 支援 mod_jk 穩定版本 |
| Tomcat | 4.1.30 | 較新版本可能需 mod_jk2 或不同配置 |
| PHP | 4.3.3 (Zip 版) | 解壓即用,需手動配置 php.ini |
| MySQL | 3.23.46a / 4.0.x | 版本對整合影響較小 |
| JDBC 驅動 | MySQL Connector/J | 放入 Tomcat common/lib |
| mod_jk.dll | 對應 Apache 2.0.x 版本 | 關鍵橋接模組,置於 modules/ |
JAVA_HOME、CLASSPATH、PATHhttpd.conf 載入 mod_jk:LoadModule jk_module modules/mod_jk.dllJkMount /*.jsp worker1JkMount /servlet/* worker1server.xml 啟用 AJP 連接器(port="8009")php.ini-dist 為 php.ini,啟用 extension=php_mysql.dll,將 php4ts.dll、libmysql.dll 放入系統路徑.html、.php、.jsp 頁面mod_jk.dll 版本不匹配 Apache → Apache 啟動失敗libmysql.dll → mysql_connect() 未定義現代專案建議採用 Docker 容器化或微服務架構分離 PHP 與 Java 服務,避免單機整合維護負擔。