萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP 5.4 + Apache 2.2 + MySQL 運行環境深度配置指南

環境版本與架構

  • PHP 5.4.x (VC9 x86 Thread Safe)
  • Apache HTTP Server 2.2.x (Win32)
  • MySQL 5.5+/5.6+
  • 作業系統:Windows Server 2008 R2 / Windows 7+

注意: PHP 5.4 已於 2015 年停止安全更新,生產環境強烈建議升級至 PHP 8.1+。本文僅供維護舊項目參考。

Apache 核心配置 (httpd.conf)

1. 監聽端口

# 默認 80,若被佔用可改 8080
Listen 8080

# 生產環境建議綁定具體 IP,避免 0.0.0.0 暴露內網
# Listen 192.168.1.100:80

2. 載入 PHP 模塊 (PHP 作為 Apache 模塊運行)

# 路徑請根據實際安裝目錄調整,使用正斜杠或雙反斜杠
LoadModule php5_module "D:/MyZILIAO/PHP/php54/php5apache2_2.dll"

# 指定 PHP.ini 目錄
PHPIniDir "D:/MyZILIAO/PHP/php54"

3. MIME 類型映射

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

4. 目錄權限與索引

<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 核心配置 (php.ini)

從 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_tagOn支持 <? ... ?> 短標簽,遷移舊代碼必備
display_errorsOff生產環境關閉錯誤顯示,改用日誌
log_errorsOn啟用錯誤日誌
error_log"D:/logs/php_errors.log"指定日誌文件路徑,需寫入權限
max_execution_time30腳本最大執行秒數,CLI 模式下為 0
memory_limit128M根據業務調整,防止 OOM
post_max_size8M配合 upload_max_filesize
upload_max_filesize2M文件上傳大小限制
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(按需)

MySQL 客戶端配置

PHP 連接 MySQL 依賴 libmysql.dll (mysqlnd 除外)。確保:

  1. PHP 目錄下的 libmysql.dll 存在(PHP 5.4 通常自帶)。
  2. 或將 MySQL 安裝目錄 bin 加入系統 PATH 環境變量。
  3. 驗證:php -m | findstr mysql 應顯示 mysql、mysqli、pdo_mysql。

驗證安裝

<?php
// 保存為 D:/wwwroot/info.php
phpinfo();
?>

瀏覽器訪問 https://localhost:8080/info.php,檢查:

  • Server API: Apache 2.0 Handler
  • Loaded Configuration File: 指向正確的 php.ini
  • mysqlnd / mysql / mysqli / pdo_mysql 顯示 enabled
  • date.timezone = Asia/Shanghai

常見問題排查

Apache 啟動報錯:Syntax error ... Cannot load php5apache2_2.dll
1. 確認 DLL 文件存在;2. PHP 版本與 Apache 版本位數匹配(均為 x86 或 x64);3. VC 運行庫版本一致(PHP 5.4 需 VC9,Apache 2.2 官方版為 VC9);4. 將 PHP 目錄加入系統 PATH。
PHP 頁面顯示空白 / 500 錯誤
查看 error_log 指定的日誌文件;臨時開啟 display_errors=On 定位語法錯誤。
MySQL 連接失敗:Could not connect to MySQL
檢查 libmysql.dll、防火牆 3306、MySQL 用戶 Host 權限(參考 MySQL 遠程訪問配置)。
copyright © 萬盛學電腦網 all rights reserved