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

php.ini 核心配置指令深度解析(基於 PHP 5.2.0)

     編輯:PHP 綜合知識

文件定位與語法基礎

  • 檔案名必須為 php.ini,置於 httpd.conf 的 PHPIniDir 指定目錄。
  • 語法:指令 = 值,指令名大小寫敏感。
  • 值類型:字串(雙引號)、數值、PHP 常數(如 E_ALL)、INI 常數(On/Off/None)、位運算表達式(E_ALL & ~E_NOTICE)。
  • 空值寫法:foo = 或 foo = none;foo = "none" 則為字串 "none"。
  • 動態擴展的常數必須在 extension= 載入行之後才能使用。

httpd.conf 覆蓋機制

php_value name value   ; 非布林指令,value=none 可清除設定
php_flag name on|off   ; 僅限布林指令

注意:httpd.conf 中不可使用 PHP 常數,需換算為對應數值掩碼;標註 SYS 的指令僅能在全域區段使用,標註 INI 的指令禁止在 httpd.conf 使用。

核心配置區塊速查(精選高頻指令)

類別指令推薦值/說明
錯誤處理error_reportingE_ALL & ~E_DEPRECATED & ~E_STRICT(開發)/ E_ALL & ~E_NOTICE(生產)
display_errorsOn(開發)/ Off(生產,改用 log_errors)
log_errorsOn(生產必開)
error_log/var/log/php/error.log(絕對路徑,需寫入權限)
效能max_execution_time30(秒),CLI 下為 0 無限制
memory_limit128M 起步,視專案調整
realpath_cache_size4096k(大型專案建議調大)
資料處理post_max_size8M,需大於 upload_max_filesize
upload_max_filesize2M 預設,依業務調整
max_input_vars1000(防止雜湊碰撞攻擊,大表單需調大)
Sessionsession.save_handlerfiles(預設)/ redis / memcached(分散式)
session.gc_maxlifetime1440(秒),配合 GC 機制
擴展extension_dir/usr/lib/php/extensions/no-debug-non-zts-20190902(絕對路徑)
extension=逐行載入 .so/.dll,順序影響相依關係

最佳實踐原則

  1. 環境隔離:開發、測試、生產維護獨立 php.ini,納入版控。
  2. 最小權限:disable_functions = exec,passthru,shell_exec,system,proc_open,popen 等高危函數。
  3. OPcache 必開:生產環境 opcache.enable=1、opcache.jit=1255(PHP 8+ JIT)。
  4. 定期審計:php -i | grep -E '^(error_|display_|log_|memory_|max_|post_|upload_)' 快速核對關鍵值。

官方參考源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved