W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
配置文件(?php.ini
?)在 PHP 啟動時被讀取。對于服務(wù)器模塊版本的 PHP,僅在 web 服務(wù)器啟動時讀取一次。對于 CGI 和 CLI 版本,每次調(diào)用都會讀取。
?php.ini
? 的搜索路徑如下(按順序):
PHPRC
? 環(huán)境變量。C:\windows
? 或 ?C:\winnt
?),或 --with-config-file-path 編譯時選項指定的位置。如果存在 ?php-SAPI.ini
?(SAPI 是當(dāng)前所用的 SAPI 名稱,因此實際文件名為 ?php-cli.ini
? 或 ?php-apache.ini
? 等),則會用它替代 ?php.ini
?。SAPI 的名稱可以用 php_sapi_name() 來測定。
注意:Apache web 服務(wù)器在啟動時會把目錄轉(zhuǎn)到根目錄,這將導(dǎo)致 PHP 嘗試在根目錄下讀取 php.ini,如果存在的話。
在 php.ini 中可以使用環(huán)境變量,如下示例:
示例 #1 php.ini 中的環(huán)境變量
; PHP_MEMORY_LIMIT 來自于環(huán)境變量的值
memory_limit = ${PHP_MEMORY_LIMIT}
由擴展庫處理的 php.ini 指令,其文檔分別在各擴展庫的頁面。內(nèi)核配置選項見附錄。不過也許不是所有的 PHP 指令都在手冊中有文檔說明。要得到自己的 PHP 版本中的配置指令完整列表,請閱讀 php.ini 文件,其中都有注釋。此外,也許從 Git 得到的? 最新版 ?php.ini
? 也有幫助。
示例 #2 php.ini 例子
; any text on a line after an unquoted semicolon (;) is ignored
[php] ; section markers (text within square brackets) are also ignored
; Boolean values can be set to either:
; true, on, yes
; or false, off, no, none
register_globals = off
track_errors = yes
; you can enclose strings in double-quotes
include_path = ".:/usr/local/lib/php"
; backslashes are treated the same as any other character
include_path = ".;c:\php\lib"
在 .ini 文件內(nèi)可能會引用已存在的 .ini 變量。例如:open_basedir = ${open_basedir} ":/new/dir"。
可以通過配置,讓 PHP 在讀完 ?php.ini
? 后,掃描指定路徑中的附加 .ini 配置文件。編譯時通過 --with-config-file-scan-dir 參數(shù)來指定要掃描的目錄。掃描路徑也可以通過環(huán)境變量 ?PHP_INI_SCAN_DIR
? 來設(shè)置。
通過在掃描路徑配置中加入特定系統(tǒng)的目錄分隔符(Windows、NetWare 和 RISC OS 下是 ;;其它操作系統(tǒng)下是 :;該值可以通過 PHP 常量 PATH_SEPARATOR 獲取),還可以設(shè)置多個掃描路徑。如果 ?PHP_INI_SCAN_DIR
? 為空,PHP 一樣會掃描在編譯時指定的 --with-config-file-scan-dir 此路徑。
對于每個目錄而言,PHP 會以首字符順序為優(yōu)先級,掃描該目錄下所有的 .ini 結(jié)尾的配置文件。所有被截入的配置文件,可以通過 php_ini_scanned_files() 函數(shù)來獲取列表,也可以通過 PHP 命令行加入 --ini 參數(shù)來查看。
以下假設(shè) PHP 配置為 --with-config-file-scan-dir=/etc/php.d
并且目錄分隔符為 :
$ php
PHP 會加載 /etc/php.d/*.ini 全部配置文件。
$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php
PHP 會加載 /usr/local/etc/php.d/*.ini 全部配置文件。
$ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php
PHP 會加載 /etc/php.d/*.ini 下的全部配置文件,然后加載
/usr/local/etc/php.d/*.ini 下的全部配置文件。
$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php
PHP 會加載 /usr/local/etc/php.d/*.ini 下的全部配置文件,然后加載
/etc/php.d/*.ini 下的全部配置文件。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: