
- PHP 教程
- PHP - 首頁
- PHP - 簡介
- PHP - 安裝
- PHP - 歷史
- PHP - 特性
- PHP - 語法
- PHP - Hello World
- PHP - 註釋
- PHP - 變數
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 變數
- PHP - 常量
- PHP - 魔術常量
- PHP - 資料型別
- PHP - 型別轉換
- PHP - 型別混合
- PHP - 字串
- PHP - 布林值
- PHP - 整數
- PHP - 檔案與I/O
- PHP - 數學函式
- PHP - Heredoc 和 Nowdoc
- PHP - 複合型別
- PHP - 檔案包含
- PHP - 日期與時間
- PHP - 標量型別宣告
- PHP - 返回型別宣告
- PHP 運算子
- PHP - 運算子
- PHP - 算術運算子
- PHP - 比較運算子
- PHP - 邏輯運算子
- PHP - 賦值運算子
- PHP - 字串運算子
- PHP - 陣列運算子
- PHP - 條件運算子
- PHP - 展開運算子
- PHP - 空值合併運算子
- PHP - 比較運算子(太空船運算子)
- PHP 控制語句
- PHP - 決策
- PHP - If…Else 語句
- PHP - Switch 語句
- PHP - 迴圈型別
- PHP - For 迴圈
- PHP - Foreach 迴圈
- PHP - While 迴圈
- PHP - Do…While 迴圈
- PHP - Break 語句
- PHP - Continue 語句
- PHP 函式
- PHP - 函式
- PHP - 函式引數
- PHP - 按值傳遞
- PHP - 按引用傳遞
- PHP - 預設引數
- PHP - 具名引數
- PHP - 可變引數
- PHP - 返回值
- PHP - 傳遞函式
- PHP - 遞迴函式
- PHP - 型別提示
- PHP - 變數作用域
- PHP - 嚴格型別
- PHP - 匿名函式
- PHP - 箭頭函式
- PHP - 可變函式
- PHP - 區域性變數
- PHP - 全域性變數
- PHP 超全域性變數
- PHP - 超全域性變數
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 檔案處理
- PHP - 檔案處理
- PHP - 開啟檔案
- PHP - 讀取檔案
- PHP - 寫入檔案
- PHP - 檔案是否存在
- PHP - 下載檔案
- PHP - 複製檔案
- PHP - 追加檔案
- PHP - 刪除檔案
- PHP - 處理CSV檔案
- PHP - 檔案許可權
- PHP - 建立目錄
- PHP - 列出檔案
- 面向物件PHP
- PHP - 面向物件程式設計
- PHP - 類和物件
- PHP - 建構函式和解構函式
- PHP - 訪問修飾符
- PHP - 繼承
- PHP - 類常量
- PHP - 抽象類
- PHP - 介面
- PHP - 特性
- PHP - 靜態方法
- PHP - 靜態屬性
- PHP - 名稱空間
- PHP - 物件迭代
- PHP - 封裝
- PHP - final 關鍵字
- PHP - 過載
- PHP - 克隆物件
- PHP - 匿名類
- PHP Web 開發
- PHP - Web 概念
- PHP - 表單處理
- PHP - 表單驗證
- PHP - 表單郵件/URL
- PHP - 完整表單
- PHP - 檔案包含
- PHP - GET & POST
- PHP - 檔案上傳
- PHP - Cookie
- PHP - Session
- PHP - Session 選項
- PHP - 傳送郵件
- PHP - 輸入過濾
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash 訊息
- PHP 高階
- PHP - MySQL
- PHP.INI 檔案配置
- PHP - 陣列解構
- PHP - 編碼規範
- PHP - 正則表示式
- PHP - 錯誤處理
- PHP - Try…Catch
- PHP - Bug 除錯
- PHP - 給C語言開發者
- PHP - 給Perl開發者
- PHP - 框架
- PHP - Core PHP vs. 框架
- PHP - 設計模式
- PHP - 過濾器
- PHP - JSON
- PHP - 異常
- PHP - 特殊型別
- PHP - 雜湊
- PHP - 加密
- PHP - is_null() 函式
- PHP - 系統呼叫
- PHP - HTTP 認證
- PHP - 交換變數
- PHP - Closure::call()
- PHP - 過濾後的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望值
- PHP - use 語句
- PHP - 整數除法
- PHP - 已棄用的特性
- PHP - 已移除的擴充套件和SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 程序
- PHP - PDO 擴充套件
- PHP - 內建函式
- PHP 有用資源
- PHP - 速查表
- PHP - 問答
- PHP - 快速指南
- PHP - 線上編譯器
- PHP - 有用資源
- PHP - 討論
PHP.INI 檔案配置
在你的機器上安裝PHP軟體後,php.ini檔案會在安裝目錄下建立。對於XAMPP,php.ini檔案位於c:\xamm\php資料夾中。它是一個重要的配置檔案,用於控制性能並設定所有與PHP相關的引數。
phpinfo() 函式顯示PHP、Apache、MySQL以及Web伺服器安裝的其他部分的不同引數及其當前值的列表。
執行以下程式碼以顯示設定,其中一個設定顯示“php.ini”檔案的路徑
<?php echo phpinfo(); ?>
已載入的配置檔案
找到顯示php.ini檔案位置的“已載入的配置檔案”設定
C:\xampp\php\php.ini
PHP行為的各個方面都由大量引數(稱為指令)配置。“php.ini”檔案的大多數行都以分號(;)開頭,表示該行已註釋。未註釋的行實際上是有效的指令及其值。換句話說,要啟用併為特定指令賦值,請刪除前面的分號。
directive = value
指令名稱是*區分大小寫的*。指令是用於配置PHP或PHP擴充套件的變數。請注意,沒有名稱驗證,因此如果找不到預期的指令,將使用預設值,該值可以是字串、數字、PHP常量(例如E_ALL或M_PI)、INI常量之一(On、Off、True、False、Yes、No和None)。
實際上,C:\XAMPP\PHP資料夾包含兩個INI檔案,一個用於生產環境,另一個用於開發環境。
php.ini-development.ini與其生產版本非常相似,只是在錯誤處理方面更為詳細。在開發階段,將其複製為php.ini以便追蹤程式碼中的錯誤。程式碼準備好部署後,使用php.ini-production.ini檔案作為有效的php.ini檔案,這實際上會在很大程度上抑制錯誤訊息。
php.ini中的指令分為不同的類別,例如錯誤處理、資料處理、路徑和目錄、檔案上傳、PHP擴充套件和模組設定。
以下是“php.ini”檔案中一些重要指令的列表
short_open_tag = Off
短標籤如下所示:<? ?>。如果要使用XML函式,則必須將此選項設定為Off。
safe_mode = Off
如果將其設定為On,則可能使用--enable-safe-mode標誌編譯了PHP。安全模式與CGI用途最相關。請參閱本章前面“CGI編譯時選項”部分中的說明。
safe_mode_exec_dir = [DIR]
此選項僅在安全模式開啟時才相關;它也可以在Unix構建過程中使用--with-exec-dir標誌設定。處於安全模式的PHP僅從此目錄中執行外部二進位制檔案。預設為/usr/local/bin。這與提供普通的PHP/HTML網頁無關。
safe_mode_allowed_env_vars = [PHP_]
此選項設定使用者在安全模式下可以更改的環境變數。預設情況下,只有以“PHP_”開頭的變數。如果此指令為空,則大多數變數都是可更改的。
safe_mode_protected_env_vars = [LD_LIBRARY_PATH]
此選項設定使用者在安全模式下無法更改的環境變數,即使safe_mode_allowed_env_vars設定得很寬鬆也是如此。
disable_functions = [function1, function2...]
PHP4配置中一個受歡迎的補充,並在PHP5中延續,就是能夠出於安全原因停用選定的函式。以前,這需要手工編輯PHP的C程式碼。檔案系統、系統和網路函式可能是首先要停用的,因為允許透過HTTP寫入檔案和更改系統從來都不是一個好主意。
max_execution_time = 30
在安全模式下,`set_time_limit()` 函式無效,因此這是在安全模式下使指令碼超時的主要方法。在 Windows 系統中,必須根據最大記憶體消耗而不是時間來中止指令碼。如果使用 Apache,也可以使用 Apache 的超時設定來實現超時,但這也會應用於站點上的非 PHP 檔案。
error_reporting = E_ALL & ~E_NOTICE
預設值為 E_ALL & ~E_NOTICE,即除通知之外的所有錯誤。開發伺服器至少應設定為預設值;只有生產伺服器才應考慮使用更低的值。
error_prepend_string = [""]
此設定與其對應的 `error_append_string` 配合使用,允許您使錯誤訊息的顏色與其他文字不同,或進行其他設定。
warn_plus_overloading = Off
如果 `+` 運算子與字串一起使用(例如在表單值中),此設定會發出警告。
variables_order = EGPCS
此配置設定取代了 `gpc_order`。兩者現在都已棄用,`register_globals` 也已棄用。它設定不同變數的順序:環境變數 (Environment)、GET、POST、COOKIE 和 SERVER(又名內建變數)。您可以更改此順序。
變數將按從左到右的順序依次被覆蓋,最右邊的變數始終獲勝。這意味著,如果您保留預設設定,並碰巧為環境變數、POST 變數和 COOKIE 變數使用了相同的名稱,則在程序結束時,COOKIE 變數將擁有該名稱。在實際應用中,這種情況很少發生。
register_globals = Off
此設定允許您決定是否要將 EGPCS 變數註冊為全域性變數。此設定現已棄用,從 PHP 4.2 開始,此標誌預設設定為 Off。請改用超全域性陣列。本書中的所有主要程式碼清單都使用超全域性陣列。
magic_quotes_gpc = On
此設定轉義傳入的 GET/POST/COOKIE 資料中的引號。如果您使用了許多可能提交給自己或其他表單並顯示錶單值的表單,則可能需要將此指令設定為 On,或準備對字串型別資料使用 `addslashes()` 函式。
magic_quotes_runtime = Off
此設定轉義傳入的資料庫和文字字串中的引號。請記住,SQL 在儲存字串時會為單引號和撇號新增反斜槓,並在返回它們時不會去除反斜槓。如果此設定為 Off,則在輸出來自 SQL 資料庫的任何型別的字串資料時,需要使用 `stripslashes()` 函式。如果 `magic_quotes_sybase` 設定為 On,則此設定必須為 Off。
magic_quotes_sybase = Off
此設定使用 Sybase 風格的單引號而不是反斜槓來轉義傳入的資料庫和文字字串中的單引號。如果 `magic_quotes_runtime` 設定為 On,則此設定必須為 Off。
auto_prepend_file = [path/to/file]
如果在此處指定路徑,PHP 必須在每個 PHP 檔案的開頭自動包含它。包含路徑限制適用。
auto_append_file = [path/to/file]
如果在此處指定路徑,PHP 必須在每個 PHP 檔案的結尾自動包含它,除非您使用 `exit()` 函式進行轉義。包含路徑限制適用。
include_path = [DIR]
如果設定此值,則只允許包含或載入來自這些目錄的檔案。包含目錄通常位於您的文件根目錄下;如果您在安全模式下執行,則這是必需的。將其設定為 "." 以包含與指令碼位於同一目錄下的檔案。多個目錄用冒號分隔:".:/usr/local/apache/htdocs:/usr/local/lib"。
doc_root = [DIR]
如果您使用的是 Apache,則已在 `httpd.conf` 中為該伺服器或虛擬主機設定了文件根目錄。如果您使用的是安全模式,或者只想在站點的部分割槽域(例如,Web 根目錄中的一個子目錄)啟用 PHP,則在此處設定此值。
file_uploads = [on/off]
如果您將使用 PHP 指令碼上傳檔案,請啟用此標誌。
upload_tmp_dir = [DIR]
除非您理解 HTTP 上傳的含義,否則請勿註釋此行!
session.save_handler = files
除極少數情況外,您都不希望更改此設定。因此,請不要更改它。
ignore_user_abort = [On/Off]
此設定控制網站訪問者單擊瀏覽器“停止”按鈕時發生的情況。預設為 On,這意味著指令碼將繼續執行直到完成或超時。如果將此設定為 Off,則指令碼將中止。此設定僅在模組模式下有效,而不是 CGI 模式。
mysql.default_host = hostname
如果未指定其他主機,則連線到資料庫伺服器時使用的預設伺服器主機。
mysql.default_user = username
如果未指定其他名稱,則連線到資料庫伺服器時使用的預設使用者名稱。
mysql.default_password = password
如果未指定其他密碼,則連線到資料庫伺服器時使用的預設密碼。