首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

php.ini 核心配置深度解析與效能調優指南

     編輯:PHP 相關知識

配置檔案載入順序

PHP 依序讀取:當前工作目錄 → 環境變數 PHPRC → 編譯時指定路徑(Windows 為安裝目錄)。CLI 模式可用 -c 指定。語法採 指示 = 值,分號 ; 開頭為註解,區段標題 [Section] 目前被忽略。

核心區段詳解

1. 語言引擎與基礎行為 [PHP]

指示預設建議/說明
engineOn關閉可禁用 PHP 解析
short_open_tagOn建議 Off,避免與 XML 衝突,統一用 <?php
asp_tagsOffASP 標籤 <%,已棄用
precision14浮點數顯示精度
output_bufferingOff建議 4096,允許輸出後送 header,微幅影響效能
implicit_flushOff僅除錯開啟,否則嚴重拖慢效能
expose_phpOn建議 Off,隱藏 HTTP Header X-Powered-By

2. 資源限制 Resource Limits

指示預設建議
max_execution_time30視業務調整,CLI 為 0(無限制)
memory_limit8M現代應用建議 128M~512M

3. 錯誤處理 Error handling

指示建議(生產)說明
error_reportingE_ALL & ~E_NOTICE & ~E_DEPRECATED隱藏提示與棄用警告
display_errorsOff嚴禁生產開啟,洩露路徑資訊
log_errorsOn寫入錯誤日誌
error_log/var/log/php/error.log指定專屬日誌路徑,確保可寫

4. 資料處理 Data Handling

  • variables_order = "GPCS":移除 E(環境變數)提升效能。
  • register_globals = Off:必須關閉,防止變數注入攻擊(PHP 5.4+ 已移除)。
  • post_max_size = 8M、upload_max_filesize = 2M:依業務調大,post_max_size > upload_max_filesize。
  • magic_quotes_gpc = Off:已棄用,改用預處理語句防注入。

5. 路徑與目錄 Paths and Directories

  • include_path:多路徑用 :(Linux)或 ;(Windows)分隔。
  • extension_dir:擴充套件目錄,enable_dl = Off(生產環境禁用動態載入)。

6. 模組設定精選

  • Session:session.save_handler = redis、session.save_path = "tcp://127.0.0.1:6379"、session.gc_maxlifetime = 1440、session.cookie_httponly = 1、session.use_strict_mode = 1。
  • MySQL/MariaDB:mysqlnd 為預設驅動,持久連線 mysqli.allow_persistent = On 搭配連線池使用。
  • OPcache(PHP 5.5+ 內建):opcache.enable=1、opcache.memory_consumption=128、opcache.max_accelerated_files=10000、opcache.revalidate_freq=60、opcache.enable_cli=1。

調優檢查清單

  1. 關閉 expose_php、display_errors、register_globals。
  2. 啟用 OPcache 並依專案檔案數調整 max_accelerated_files。
  3. 設定專屬 error_log,定期輪轉。
  4. Session 改用 Redis/Memcached,支援分散式部署。
  5. 上傳限制依實際需求調整,避免過大導致 DoS。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved