怎樣修改配置設定

怎樣修改配置設定

PHP 執行于 Apache 模組方式

當使用 PHP 作為 Apache 模組時,也可以用 Apache 的配置檔案(例如 httpd.conf)和 .htaccess 檔案中的指令來修改 PHP 的配置設定。需要有「AllowOverride Options」或「AllowOverride All」許可權才可以。

有幾個 Apache 指令可以使使用者在 Apache 配置檔案內部修改 PHP 的配置。哪些指令屬於 PHP_INI_ALLPHP_INI_PERDIRPHP_INI_SYSTEM 中的哪一個,請參考附錄中的 php.ini 配置選項列表

php_value name value

設定指定的值。只能用於 PHP_INI_ALLPHP_INI_PERDIR 型別的指令。要清除先前設定的值,把 value 設為 none

注意: 不要用 php_value 設定布爾值。應該用 php_flag(見下面)。

php_flag name on|off

用來設定布爾值的配置指令。僅能用於 PHP_INI_ALLPHP_INI_PERDIR 型別的指令。

php_admin_value name value

設定指定的指令的值。不能用於 .htaccess 檔案。任何用 php_admin_value 設定的指令都不能被 .htaccess 或 virtualhost 中的指令覆蓋。要清除先前設定的值,把 value 設為 none

php_admin_flag name on|off

用來設定布爾值的配置指令。不能用於 .htaccess 檔案。任何用 php_admin_flag 設定的指令都不能被 .htaccess 或 virtualhost 中的指令覆蓋。

示例 #1 Apache 配置例子

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
警告

PHP 常量不存在於 PHP 之外。例如在 httpd.conf 中不能使用 PHP 常量如 E_ALLE_NOTICE 來設定 error_reporting 指令,因為其無意義,實際等於 0。應該用相應的掩碼值來替代。這些常量可以在 php.ini 中使用。

通過 Windows 註冊表修改 PHP 配置

在 Windows 下執行 PHP 時,可以用 Windows 註冊表以目錄為單位來修改配置。配置值存放于註冊表項 HKLM\SOFTWARE\PHP\Per Directory Values 下面,子項對應于路徑名。例如對於目錄 c:\inetpub\wwwroot 的配置值會存放于 HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot 項下面。其中的設定對於任何位於此目錄及其任何子目錄的指令碼都有效。項中的值的名稱是 PHP 配置指令的名字,值的數據是字串格式的指令值。值中的 PHP 常量不被解析。不過只有可修改範圍是 PHP_INI_USER 的配置值可以用此方法設定,PHP_INI_PERDIR 的值就不行。因為這些配置對於每次請求來說是隻讀的。

其它介面下的 PHP

無論怎樣執行 PHP,都可以在指令碼中通過 ini_set() 而在執行時修改某個值。更多資訊見手冊中 ini_set() 的頁面。

如果對自己系統中的配置設定及其目前值的完整列表感興趣,可以執行 phpinfo() 函式並檢視其結果的頁面。也可以在執行時用 ini_get()get_cfg_var() 取得個別配置指令的值。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *