- LAMP網站開發黃金組合Linux+Apache+MySQL+PHP
- 楊明華等編著
- 1227字
- 2018-12-29 19:23:46
7.7 PHP配置指令
PHP的配置指令控制著PHP在多個不同方面的行為,包括語言選項、安全模式、資源限制、錯誤處理和日志、數據處理、路徑和目錄、文件上傳、Fopen包裝器、動態擴展、模塊設置、系統日志、數據庫連接等。
7.7.1 語言選項(Language Options)
語言選項用于設定PHP語言的基本特性,可用指令如表7-1所示。
表7-1 PHP中的“語言選項”指令

7.7.2 安全模式(Safe Mode)
在多用戶環境中部署PHP時,為了避免服務器受到攻擊和破壞,通常可以將PHP設置為安全模式(也稱受限模式)。
安全模式會自動禁用許多可能存在不安全因素的功能,例如安全模式下可以禁用parse_ini_file( )函數、chmod( )函數、chgrp( )函數、chown( )函數、exec( )函數、system( )函數以及反引號運算符。安全模式還將自動檢測執行腳本的所有者與該腳本所訪問的文件或目錄的所有者是否一致。用于安全模式的指令如表7-2所示。
表7-2 PHP中的安全模式指令

7.7.3 資源限制(Resource Limits)
通常服務器資源是有限的,為了合理地使用服務器資源,防止資源被過度耗費,應該從以下三方面對執行腳本進行控制:腳本執行時間、腳本輸入時間(解析時間)和分配的最大內存量。表7-3列出了PHP中使用的資源限制指令。
表7-3 PHP的資源限制指令

★ 注意 ★
指令max_execution_time所設定的時間上限不包括通過PHP命令(如exec( )或system( ))調用執行外部程序所花費的時間。
7.7.4 錯誤處理和日志(Error Handling and Logging)
PHP以一種更為靈活的方式報告和記錄PHP在編譯和運行時所產生的錯誤、警告以及提示。開發人員可以根據需要控制報告的敏感度,可以控制是否將信息顯示在瀏覽器以及如何顯示,還可以控制信息記錄的方式:記錄到文件中還是系統日志中。表7-4列出了控制錯誤處理和日志的相關指令。
表7-4 控制錯誤處理和日志的指令

表7-5 PHP的錯誤報告級別

7.7.5 數據處理(Data Handling)
PHP提供了一些用于對外部數據進行處理的配置指令。外部數據通常是指由GET、POST、COOKIE、操作系統或服務器所傳遞的數據。表7-6中列出了PHP中的一些數據處理指令及說明。
表7-6 PHP中的數據處理指令

7.7.6 路徑和目錄(Paths and Directories)
PHP提供了一些對默認路徑進行設置的指令。默認路徑包括用戶Web目錄、Web文檔根目錄以及導入函數庫和擴展包的目錄。表7-7中列出了一些用于設置路徑和目錄的指令。
表7-7 PHP中用于設置路徑和目錄的指令

7.7.7 文件上傳(File Uploads)
PHP支持通過POST方式上傳文件,表7-8中列出了用于設置文件上傳的配置指令。
表7-8 PHP中的文件上傳指令

7.7.8 Fopen包裝器(Fopen Wrappers)
PHP提供了一些訪問和處理遠程文件的指令,如表7-9所示。
表7-9 PHP中訪問和處理遠程文件的指令

7.7.9 動態擴展(Dynamic Extensions)
PHP提供了實現動態擴展的配置指令extension,使用該命令可以自動地加載指定模塊(擴展包)。該指令的語法格式如下所示:
extension=modulename.extension
其中“modulename”指需要自動加載的模塊名,“extension”指定模塊的擴展名。extension指令的作用域為PAP_INI_ALL,默認值為NULL。例如在Windows下自動加載MySQL模塊如下所示:
extension=msql.dll
在Linux環境下,自動加載MySQL模塊如下所示:
extension=msql.so
★ 注意 ★
僅在php.ini中通過extension指令并不一定能夠成功啟用模塊。模塊能否正確啟用,還依賴于其相應的軟件是否已成功安裝到系統中。
7.7.10 郵件功能(Mail function)
PHP提供了mail( )函數,可以通過PHP腳本發送電子郵件。表7-10中列出了對郵件功能進行配置的PHP指令。
表7-10 郵件配置指令

- 電力自動化實用技術問答
- Moodle Course Design Best Practices
- 深度學習與目標檢測
- R Machine Learning Projects
- Salesforce Advanced Administrator Certification Guide
- 從零開始學Java Web開發
- 未來學徒:讀懂人工智能飛馳時代
- 無人駕駛感知智能
- Learn Microsoft Azure
- 納米集成電路制造工藝(第2版)
- 計算機硬件技術基礎(第2版)
- Microsoft System Center Data Protection Manager Cookbook
- Practical Network Automation
- 工廠電氣控制設備
- 牛津通識讀本:大數據(中文版)