執行 phpinfo() 時,許多設定項目會顯示兩欄:Local Value(局部值)與 Master Value(主值)。初學者常感到困惑,本文簡單說明兩者差異與來源。
| 項目 | Master Value | Local Value |
|---|---|---|
| 定義 | php.ini 設定檔中的原始值 | 目前執行環境實際生效的值 |
| 優先序 | 預設基準值 | 會覆蓋 Master Value |
| 來源 | 僅 php.ini | Web 伺服器設定、.htaccess、程式碼 ini_set() |
httpd.conf 或 conf.d/php.conf 中使用 php_value、php_flag 指令。ini_set('display_errors', '1'); 等。ini_set()。php.ini 統一管理,避免分散在多處造成維護困難。<?php
// 檢查 display_errors 實際值
echo 'Master: ' . ini_get('display_errors') . PHP_EOL; // 這裡取得的是 Local Value
// 若要看 php.ini 原始值,需用 ini_get_all()['display_errors']['global_value'] (PHP 5.3+)
?>
理解這兩個值的關係,能讓你更精準地掌控 PHP 執行環境,避免「明明改了 php.ini 卻不生效」的困擾。