PHP 生產環境部署需調整關鍵配置以兼顧安全、性能、兼容性。本文梳理四大核心配置項及擴展加載優化。
short_open_tag; php.ini short_open_tag = Off
<?php ?> 完整標籤,避免與 XML 聲明 <?xml ?> 衝突<?= $var ?> 短輸出標籤同樣受控(PHP 5.4+ 始終可用,不受此項影響)asp_tagsasp_tags = Off
<% %> 和 <%= $var %> 風格標籤; 確保指向正確 ext 目錄 extension_dir = "C:/php/ext" ; 核心業務擴展(按需啟用) extension=php_pdo_mysql.dll ; PDO MySQL(推薦) extension=php_mysqli.dll ; MySQLi 過程式介面 extension=php_gd2.dll ; 圖片處理 extension=php_mbstring.dll ; 多字節字符串 extension=php_curl.dll ; HTTP 客戶端 extension=php_openssl.dll ; SSL/TLS 支持 extension=php_json.dll ; JSON 處理(PHP 8+ 內置) extension=php_xml.dll ; XML 解析 extension=php_intl.dll ; 國際化支持
php_mcrypt.dll 已移除,改用 php_sodium.dll 或 OpenSSLdate.timezonedate.timezone = "Asia/Shanghai"
PRC、Asia/Shanghai、Asia/Chongqing 等效date()、time()、DateTime、日誌時間戳等所有時間函數; 錯誤處理 display_errors = Off log_errors = On error_log = /var/log/php/error.log error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT ; 安全 expose_php = Off session.cookie_httponly = 1 session.cookie_secure = 1 ; 僅 HTTPS session.use_strict_mode = 1 ; 性能 opcache.enable = 1 opcache.memory_consumption = 256 opcache.max_accelerated_files = 20000 opcache.validate_timestamps = 0 ; 生產關閉,部署後手動重啟或清理 opcache.jit = 1255 ; PHP 8+ JIT 編譯 ; 上傳限制 upload_max_filesize = 50M post_max_size = 55M max_execution_time = 30 memory_limit = 256M
# 命令行檢查 php -i | grep -E 'short_open_tag|asp_tags|extension_dir|date.timezone|opcache.enable' # Web 端檢查
規範配置是穩定運行基石,建議納入部署自動化腳本,版本控制管理 php.ini。