注意: PHP 5.4 已於 2015 年停止安全更新,生產環境強烈建議升級至 PHP 8.1+。本文僅供維護舊項目參考。
# 默認 80,若被佔用可改 8080
Listen 8080
# 生產環境建議綁定具體 IP,避免 0.0.0.0 暴露內網
# Listen 192.168.1.100:80
# 路徑請根據實際安裝目錄調整,使用正斜杠或雙反斜杠
LoadModule php5_module "D:/MyZILIAO/PHP/php54/php5apache2_2.dll"
# 指定 PHP.ini 目錄
PHPIniDir "D:/MyZILIAO/PHP/php54"
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .php5 .phtml
# 可選:將 .html 也交給 PHP 解析(不推薦,影響靜態文件性能)
# AddType application/x-httpd-php .html
<Directory "D:/MyZILIAO/PHP/php54">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted # Apache 2.4+ 語法;2.2 用 Order allow,deny / Allow from all
</Directory>
<Directory "D:/wwwroot">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex index.php index.html index.htm
</Directory>
從 php.ini-development 或 php.ini-production 複製並重命名為 php.ini,放置於 PHPIniDir 指定目錄或系統目錄 (C:\Windows)。
| 指令 | 推薦值 | 說明 |
|---|---|---|
| extension_dir | "D:/MyZILIAO/PHP/php54/ext" | 擴展庫絕對路徑,必須去掉前分號 |
| date.timezone | "Asia/Shanghai" | 消除 date() 警告,去掉前分號 |
| short_open_tag | On | 支持 <? ... ?> 短標簽,遷移舊代碼必備 |
| display_errors | Off | 生產環境關閉錯誤顯示,改用日誌 |
| log_errors | On | 啟用錯誤日誌 |
| error_log | "D:/logs/php_errors.log" | 指定日誌文件路徑,需寫入權限 |
| max_execution_time | 30 | 腳本最大執行秒數,CLI 模式下為 0 |
| memory_limit | 128M | 根據業務調整,防止 OOM |
| post_max_size | 8M | 配合 upload_max_filesize |
| upload_max_filesize | 2M | 文件上傳大小限制 |
| session.save_path | "D:/tmp/session" | 確保目錄存在且可寫 |
extension=php_mbstring.dll ; 多字節字符串處理(中文必備)
extension=php_gd2.dll ; GD 圖像處理(驗證碼、縮略圖)
extension=php_mysql.dll ; MySQL 經典擴展(PHP 5.4 仍可用)
extension=php_mysqli.dll ; MySQL 改進擴展(推薦新代碼使用)
extension=php_pdo_mysql.dll ; PDO MySQL 驅動(現代框架必備)
extension=php_curl.dll ; cURL 網絡請求
extension=php_openssl.dll ; OpenSSL 加密
extension=php_xmlrpc.dll ; XML-RPC 支持
; extension=php_xsl.dll ; XSLT(按需)
; extension=php_ldap.dll ; LDAP(按需)
PHP 連接 MySQL 依賴 libmysql.dll (mysqlnd 除外)。確保:
libmysql.dll 存在(PHP 5.4 通常自帶)。bin 加入系統 PATH 環境變量。php -m | findstr mysql 應顯示 mysql、mysqli、pdo_mysql。<?php
// 保存為 D:/wwwroot/info.php
phpinfo();
?>
瀏覽器訪問 https://localhost:8080/info.php,檢查:
Syntax error ... Cannot load php5apache2_2.dllerror_log 指定的日誌文件;臨時開啟 display_errors=On 定位語法錯誤。Could not connect to MySQLlibmysql.dll、防火牆 3306、MySQL 用戶 Host 權限(參考 MySQL 遠程訪問配置)。