在php啟動時會讀取php的配置檔案php.ini,對於伺服器模組版本的php僅在web伺服器啟動時讀取一次,而cgi和cli版本的php每次呼叫都會讀取。在php.ini檔案中可以使用環境變數,php5.1以後還可以在ini檔案中引用ini中已存在的變數。讀取php.ini檔案時,按如下順序查詢php.ini檔案:
sapi模組所指定的位置(apache2中的phpinidir指令、cgi和cli的 -c 命令列選項、nsapi中的php_ini引數、thttpd中的php_ini_path環境變數等)。
環境變數phprc,php5.2之前的順序在登錄檔鍵值之後。
php5.2起,在windows系統中,可以為不同的php版本設定不同的php.ini檔案位置,會按[hkey_local_machine\software\php\x.y.z]、[hkey_local_machine\software\php\x.y]、[hkey_local_machine\software\php\x]的順序檢查登錄檔目錄,其中x、y、z分別表示php的主版本號、次版本號和發布版本號。在任一目錄中找到的第乙個inifilepath的值作為php.ini的位置。
在windows系統中登錄檔[hkey_local_machine\software\php]中inifilepath的值。
除cli外,當前工作目錄。
sapi模式下web伺服器目錄,或者在windows下php所在目錄。
windows系統下windows系統目錄(c:\windows或c:\winnt),或者編譯時--with-config-file-path選項指定的位置。
如果存在php-.ini,則會用它來代替php.ini,其中是指當前sapi模組的名稱,比如cli,名稱為php-cli.ini。sapi的名稱可以通過函式php_sapi_name()獲取。
php5.3起支援每個目錄的.htaccess風格的ini檔案,此類檔案只可以被cgi/fastcgi sapi處理,此功能使得pecl的htscanner擴充套件作廢。如果使用apache,則用.htaccess檔案有同樣效果。除了php.ini檔案外,還會從被執行的php檔案所在目錄開始一直上公升到$_server['document_root']所指定的web根目錄掃做ini檔案。如果被執行的php檔案在web根目錄外,則只掃瞄被執行的php檔案所在的目錄。在.user.ini風格的ini檔案中只有php_ini_perdir和php_ini_user模式的ini配置能被識別。
對於.user.ini檔案,有兩個配置用於控制ini檔案的使用:
user_ini.filename:指定php在目錄中查詢的ini檔名,如果為空字串,則不會進行查詢,預設值為.user.ini。
user_ini.cache_ttl:指定重新讀取ini檔案的時間間隔,單位為秒,預設值為300(5分鐘)。
php程式執行時間 php計算程式的執行時間
首先我們分析一下原理,要想得到程式執行時間,那麼可以在程式最開始執行的時候定義乙個變數記下當前時間,然後等我們程式執行完之後再記錄一下當前的時間,兩者相差就是該程式執行花費的時間了。這裡介紹一下 microtime 這個函式,microtime 用的不多,但是不能不知道這個函式,它是返回當前 uni...
PHP指令碼執行時間
php設定指令碼最大執行時間的三種方法 php.ini 中預設的最長執行時間是 30 秒,這是由 php.ini 中的 max execution time 變數指定,如果指令碼需要跑很長時間,例如要大量傳送電子郵件,或者分析統計大量資料,伺服器會在 30 秒後強行中止正在執行的程式,這種情況就要更...
執行時異常
常見的幾種如下 nullpointerexception 空指標引用異常 classcastexception 型別強制轉換異常。illegalargumentexception 傳遞非法引數異常。arithmeticexception 算術運算異常 arraystoreexception 向陣列中...