php.ini 核心配置選項說明
Httpd 選項
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
async_send | "0" | PHP_INI_ALL |
語言選項
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
short_open_tag | "1" | PHP_INI_PERDIR | 在 PHP |
asp_tags | "0" | PHP_INI_PERDIR | 在 PHP |
precision | "14" | PHP_INI_ALL | |
y2k_compliance | "1" | PHP_INI_ALL | |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | 在 PHP |
expose_php | "1" | 僅可在 php.ini 中配置。 | |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | 從 PHP 5.0.0 起可用。 |
這是配置指令的簡短說明。
short_open_tag boolean
-
決定是否允許使用 PHP 程式碼開始標誌的縮寫形式(
?>
)。如果要和 XML 結合使用 PHP,可以禁用此選項以便於嵌入使用。否則還可以透過 PHP 來輸出,例如:
。如果禁用了,必須使用 PHP 程式碼開始標誌的完整形式(
)。
Note:
本指令也會影響到縮寫形式
=
,它和echo
等價。使用此縮寫需要short_open_tag
的值為 On。 asp_tags boolean
-
除了通常的 標誌之外還允許使用 ASP 風格的標誌 。這也包括了輸出變數值的縮寫 。更多資訊見從 HTML 中分離一節。?php>
Note:
ASP 風格標誌的支援是 3.0.4 版新加的。
precision integer
浮點數中顯示有效數字的位數。
y2k_compliance boolean
強制 2000 年相容(在不相容的瀏覽器中會出問題)。
allow_call_time_pass_reference boolean
-
在函式呼叫時引數被按照引用傳遞時是否發出警告。此方法已不被贊成並在 PHP/Zend 未來的版本中很可能不再支援。鼓勵使用的方法是在函式定義中指定哪些引數應該用引用傳遞。鼓勵大家嘗試關閉此選項並確保指令碼能夠正常執行,以確保該指令碼也能在未來的版本中執行(每次使用此特性都會收到一條警告)。
在函式呼叫時透過引用傳遞引數是不推薦的,因為它影響到了程式碼的整潔。如果函式的引數沒有宣告作為引用傳遞,函式可以透過未寫入文件的方法修改其引數。要避免其副作用,最好僅在函式宣告時指定那個引數需要透過引用傳遞。
參見引用的解釋。
expose_php boolean
決定是否暴露 PHP 被安裝在伺服器上(例如在 Web 伺服器的資訊頭中加上其簽名)。沒有任何安全上的威脅,只是讓客戶端能夠知道是否在伺服器中安裝了 PHP。
zend.ze1_compatibility_mode boolean
-
啟用 Zend 引擎 1(PHP 4) 相容模式。這影響到了物件的複製、構造(無屬性的物件會產生 FALSE 或 0)及比較。此模式下,物件將以值傳遞,而不是預設的引用傳遞。
參見從 PHP 4 移植到 PHP 5。
資源限制
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
memory_limit | "8M" | PHP_INI_ALL |
這是配置指令的簡短說明。
memory_limit integer
-
本指令設定了一個指令碼所能夠申請到的最大記憶體位元組數。這有助於防止寫得不好的指令碼消耗光伺服器上的可用記憶體。要使用此指令必須在編譯的時候啟用。因此 configure 一行中應該包括:--enable-memory-limit。如果不需要任何記憶體上的限制,必須將其設為 -1。
自 4.3.2 起,當啟用了 memory_limit,PHP 函式 memory_get_usage() 便可以使用了。
當使用 integer 時, 其值以位元組來衡量。還可以使用在FAQ中描述的速記符。
參見 max_execution_time。
效能調整
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | 自 PHP 5.1.0 起可用。 |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | 自 PHP 5.1.0 起可用。 |
這是配置指令的簡短說明。
realpath_cache_size integer
決定 PHP 所使用的真實路徑緩衝區的大小。此值在 PHP 會開啟很多檔案的系統下應增大,以反映出所執行檔案操作的數量。
realpath_cache_ttl integer
對給定檔案或目錄以秒為單位的真實路徑資訊緩衝的時間。對檔案很少改變的系統,可以考慮增大此值。
資料處理
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
track_vars | "On" | PHP_INI_?? | |
arg_separator.output | "&" | PHP_INI_ALL | 從 PHP 4.0.5 起可用。 |
arg_separator.input | "&" | PHP_INI_PERDIR | 從 PHP 4.0.5 起可用。 |
variables_order | "EGPCS" | PHP_INI_PERDIR | 在 PHP |
auto_globals_jit | "1" | PHP_INI_PERDIR | 從 PHP 5.0.0 起可用。 |
register_globals | "0" | PHP_INI_PERDIR | 在 PHP |
register_argc_argv | "1" | PHP_INI_PERDIR | 在 PHP |
register_long_arrays | "1" | PHP_INI_PERDIR | 從 PHP 5.0.0 起可用。 |
post_max_size | "8M" | PHP_INI_PERDIR | 在 PHP |
gpc_order | "GPC" | PHP_INI_ALL | |
auto_prepend_file | NULL | PHP_INI_PERDIR | 在 PHP |
auto_append_file | NULL | PHP_INI_PERDIR | 在 PHP |
default_mimetype | "text/html" | PHP_INI_ALL | |
default_charset | "" | PHP_INI_ALL | |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | 在 PHP |
allow_webdav_methods | "0" | PHP_INI_PERDIR |
這是配置指令的簡短說明。
track_vars boolean
-
如果啟用,則環境變數,GET,POST,Cookie 和 Server 變數都能夠分別在全域性關聯陣列中找到:$_ENV,$_GET,$_POST,$_COOKIE 和 $_SERVER。
注意自 PHP 4.0.3 起,
track_vars
總是開啟的。 arg_separator.output string
PHP 所產生的 URL 中來分隔引數的分隔符。
arg_separator.input string
-
PHP 用來將 URL 解析為變數的分隔符列表。
Note:
本指令中的每個字元都會被當成分隔符!
variables_order string
-
設定 EGPCS(Environment,GET,POST,Cookie,Server)變數解析的順序。預設設定為“EGPCS”。舉例說,將其設為“GP”,會導致 PHP 完全忽略環境變數,cookies 和 server 變數,並用 GET 方法的變數覆蓋 POST 方法的同名變數。
參見 register_globals。
request_order string
-
This directive describes the order in which PHP registers GET, POST and Cookie variables into the _REQUEST array. Registration is done from left to right, newer values override older values.
If this directive is not set, variables_order is used for $_REQUEST contents.
auto_globals_jit boolean
-
啟用後,SERVER 和 ENV 變數在他們第一次使用後 (Just In Time) 便被建立,而不是等到指令碼開始執行時。如果這些變數沒有在指令碼總使用,啟用這個變數會提高伺服器效能。
要使此選項有效,PHP 配置選項 register_globals, register_long_arrays, 和 register_argc_argv 必須禁用。
register_globals boolean
-
決定是否將 EGPCS(Environment,GET,POST,Cookie,Server)變數註冊為全域性變數。
PHP 4.2.0 開始,本選項預設為 off。
相關資訊請閱讀安全一章中的使用 register_globals。
請注意
register_globals
不能在執行時設定(ini_set()),儘管如以上說明在主機允許時可以用 .htaccess。一個 .htaccess 專案的例子:php_flag register_globals off
。Note:
register_globals
受 variables_order 選項的影響。 register_argc_argv boolean
決定 PHP 是否定義 argv & argc 變數(可能包含有 GET 資訊)。 參見命令列方式。此外,本選項自 PHP 4.0.0 起可用,在此之前總是“On”。
register_long_arrays boolean
設定 PHP 是否註冊已過時的 $HTTP_*_VARS 之類的預定義變數。如果為 On(預設值),則類似 $HTTP_GET_VARS 的 PHP 變數會被註冊。如果不使用,為效能考慮建議關閉此選項,而使用超全域性陣列例如 $_GET 替代之。 本指令自 PHP 5.0.0 起可用。
post_max_size integer
設定 POST 資料所允許的最大大小。此設定也影響到檔案上傳。要上傳大檔案,該值必須大於 upload_max_filesize。 如果配置指令碼中啟用了記憶體限制,memory_limit 也會影響檔案上傳。通常說,memory_limit 應該比 post_max_size 要大。當使用 integer 時, 其值以位元組來衡量。還可以使用在FAQ中描述的速記符。 如果 POST 資料尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空。這可以以多種方式證明,例如,傳遞 $_GET 變數到指令碼以處理資料, 也就是 , 然後檢視 $_GET['processed'] 是否被設定。
gpc_order string
-
設定 GET/POST/COOKIE 變數解析的順序,預設為“GPC”。舉例說,將其設為“GP”,會導致 PHP 完全忽略 cookie 變數,並用 GET 方法的變數覆蓋 POST 方法的同名變數。
Note:
本選項不能用於 PHP 4。用 variables_order 替代之。
auto_prepend_file string
-
指定在主檔案之前自動解析的檔名。該檔案就像呼叫了 include() 函式一樣被包含進來,因此會使用 include_path。
特殊值 none 禁止了自動字首。
auto_append_file string
-
指定在主檔案之後自動解析的檔名。該檔案就像呼叫了 include() 函式一樣被包含進來,因此會使用 include_path。
特殊值 none 禁止了自動字尾。
Note: 如果指令碼透過 exit() 終止,則自動字尾不會發生。
default_mimetype string
default_charset string
自 4.0b4 起,PHP 總是預設在 HTTP 資訊頭 Content-type: 中輸出字元編碼。要禁止傳送字符集,將本選項設為空即可。
always_populate_raw_post_data boolean
總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 資料。否則,此變數僅在碰到未識別 MIME 型別的資料時產生。不過,訪問原始 POST 資料的更好方法是 php://input。$HTTP_RAW_POST_DATA 對於enctype="multipart/form-data" 表單資料不可用。
allow_webdav_methods boolean
允許在 PHP 指令碼中處理 WebDAV 的 HTTP 請求(例如 PROPFIND,PROPPATCH,MOVE,COPY 等)。此選項在 PHP 4.3.2 以後便不存在了。如果要取得這些請求的 POST 資料,也要設定 always_populate_raw_post_data。
參見 magic_quotes_gpc,magic-quotes-runtime 和 magic_quotes_sybase。
路徑和目錄
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
include_path | ".;/path/to/php/pear" | PHP_INI_ALL | |
doc_root | NULL | PHP_INI_SYSTEM | |
user_dir | NULL | PHP_INI_SYSTEM | |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM | |
extension | NULL | 僅限於 php.ini | |
cgi.fix_pathinfo | "1" | PHP_INI_ALL | 從 PHP 4.3.0 起可用 |
cgi.force_redirect | "1" | PHP_INI_ALL | 從 PHP 4.2.0 起可用 |
cgi.redirect_status_env | NULL | PHP_INI_ALL | 從 PHP 4.2.0 起可用 |
fastcgi.impersonate | "0" | PHP_INI_ALL | 從 PHP 4.3.0 起可用 |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | 從 PHP 4.3.0 起可用 |
這是配置指令的簡短說明。
include_path string
-
指定一組目錄用於 require(),include() 和 fopen_with_path() 函式來尋找檔案。格式和系統的 PATH 環境變數類似:一組目錄的列表,在 UNIX 下用冒號分隔,在 Windows 下用分號分隔。
Example #1 Unix include_path
include_path=".:/php/includes"
Example #2 Windows include_path
include_path=".;c:phpincludes"
在包含路徑中使用 . 可以允許相對路徑,它代表當前目錄。
doc_root string
PHP 在伺服器上的根目錄。僅在非空時使用。如果 PHP 被配置為安全模式,則此目錄之外的檔案一概不被解析。如果 PHP 編譯時沒有指定 FORCE_REDIRECT,並且在任何 web 伺服器(除了 IIS)中以 CGI 方式執行 PHP,則應該設定 doc_root。替代方案是使用下面的 cgi.force_redirect 配置選項。
user_dir string
在使用者目錄之下使用 PHP 檔案的基本目錄名,例如 public_html。
extension_dir string
PHP 用來尋找動態連線擴充套件庫的目錄。參見 enable_dl 和 dl()。
extension string
當 PHP 啟動時所載入的動態連線擴充套件庫。
cgi.fix_pathinfo boolean
對 CGI 提供了真正的 PATH_INFO/PATH_TRANSLATED 支援。以前 PHP 的行為是將 PATH_TRANSLATED 設為 SCRIPT_FILENAME,而不管 PATH_INFO 是什麼。有關 PATH_INFO 的更多資訊見 cgi 規格。將此值設為 1 將使 PHP CGI 修正其路徑以遵守規格。設為 0 將使 PHP 的行為和從前一樣。預設為零。使用者應該修正其指令碼使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。
cgi.force_redirect boolean
-
在大多數 web 伺服器中以 CGI 方式執行 PHP 時很有必要用 cgi.force_redirect 提供安全。PHP 預設其為 On。可以將其關閉,但風險自擔。
Note:
Windows 使用者:可以安全地在 IIS 之下將其關閉,事實上必須這麼做。要在 OmniHTTPD 或 Xitami 之下使用也必須將其關閉。
cgi.redirect_status_env string
-
如果開啟了 cgi.force_redirect,並且不是在 Apache 或 Netscape(iPlanet)web 伺服器之下執行,可能需要設定一個環境變數名,PHP 將去尋找它來知道可以繼續執行下去。
Note:
設定此變數可能會導致安全問題,首先要知道自己在做什麼。
fastcgi.impersonate string
IIS(在基於 WINNT 的作業系統上)中的 FastCGI 支援模仿客戶端安全令牌的能力。這使得 IIS 能夠定義執行時所基於的請求的安全上下文。Apache 中的 mod_fastcgi 不支援此特性(03/17/2002)。如果在 IIS 中執行則設為 1。預設為 0。
cgi.rfc2616_headers int
指定 PHP 在傳送 HTTP 響應程式碼時使用何種報頭。如果設定為 0,PHP 傳送一個 Status: 報頭,Apache 和其它 web server 都支援。如果此選項設定為 1,PHP 將傳送 RFC 2616 相容的報頭。除非你知道自己在做什麼,否則保留其值為 0。
檔案上傳
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM | 在 PHP |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | |
upload_max_filesize | "2M" | PHP_INI_PERDIR | 在 PHP |
這是配置指令的簡短說明。
file_uploads boolean
-
是否允許 HTTP 檔案上傳。參見 upload_max_filesize,upload_tmp_dir 和 post_max_size 指令。
當使用 integer 時, 其值以位元組來衡量。還可以使用在FAQ中描述的速記符。
upload_tmp_dir string
檔案上傳時存放檔案的臨時目錄。必須是 PHP 程式所有者使用者可寫的目錄。如果未指定則 PHP 使用系統預設值。
upload_max_filesize integer
-
所上傳的檔案的最大大小。
當使用 integer 時, 其值以位元組來衡量。還可以使用在FAQ中描述的速記符。
普通 SQL
名稱 | 預設值 | 可修改範圍 | 更新記錄 |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM |
這是配置指令的簡短說明。
sql.safe_mode boolean
偵錯程式配置選項
Caution
僅 PHP 3 實現了一個預設的偵錯程式。更多資訊請參考PHP 的除錯。
debugger.host string
偵錯程式所使用的主機的 DNS 名或 IP 地址。
debugger.port string
偵錯程式所用的埠號。
debugger.enabled boolean
是否啟用偵錯程式。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2809834/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tkinter (01) 基本選項的說明
- 【Tomcat】Tomcat伺服器核心配置說明及標籤Tomcat伺服器
- rust配置說明Rust
- Oracle邏輯備份與恢復選項說明Oracle
- CentOS 7升級核心簡明說明CentOS
- linux常用核心引數說明Linux
- php.ini安全配置PHP
- elasticsearch.yml 配置說明Elasticsearch
- kettle MongoDB Output 配置說明MongoDB
- 雷池 docker env 配置說明Docker
- 以例項說明 OAuth2OAuth
- Nginx的配置檔案說明Nginx
- ADS-B接入配置說明
- keycloak~token配置相關說明
- MobTech ShareSDK 後臺配置說明
- Swoole server配置選項Server
- [轉帖]openEuler 22.03 LTS 核心基礎頁大小配置選項討論
- nginx 詳解 - 詳細配置說明Nginx
- VNC安裝配置詳細說明VNC
- Nginx的gzip配置引數說明Nginx
- nginx 詳解 – 詳細配置說明Nginx
- Revit Server的注意要配置說明Server
- 【NETWORK】Oracle RAC 心跳地址配置說明Oracle
- nginx日誌配置檔案說明Nginx
- PHP 效能優化 - php.ini 配置PHP優化
- 管理 MySQL Shell 配置選項MySql
- vue-cli@3.0 使用及配置說明Vue
- spring5.x版本 java配置和annotation配置說明SpringJava
- PHP配置檔案詳解php.iniPHP
- linux 靜態地址配置選項Linux
- Rockchip RK3399 SDMMC 的 DTS 配置說明
- Rockchip RK3399 SDIO 的 DTS 配置說明
- Rockchip RK3399 eMMc 的 DTS 配置說明
- Dubbo23_Dubbo相關配置說明6
- 備忘錄一:Spring Boot HikariCP 配置說明Spring Boot
- Oracle Exadata X8 Hardware DataSheet (配置說明)Oracle
- 阿里 Nacos 註冊中心 配置啟動說明阿里
- java WebSocket 即時通訊配置使用說明JavaWeb