php引擎文件php.ini優化參數
無論是Apache環境還是nginx環境,php.ini都適合,php-fpm.conf適合nginx+fcgi的配置。
生產環境php.ini(php.ini-production)
php.ini-development
php.ini-production
# vim /application/php/lib/php.ini
(1) PHP函數禁用找到:
disable_functions = 該選項可以設置哪些PHP函數是禁止使用的,PHP中有一些函數的風險性還是相當大的,可以直接執行一些系統級腳本命令,如果允許這些函數執行,當PHP程序出現漏洞時,損失是非常嚴重的!以下我們給出推薦的禁用函數設置:
disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
需註意:如果您的服務器中含有一些系統狀態檢測的PHP程序,則不要禁用shell_exec,proc_open,proc_get_status等函數。
(2) PHP腳本執行時間找到:
max_execution_time = 30
該選項設定PHP程序的最大執行時間,如果一個PHP腳本被請求,且該PHP腳本在max_execution_time時間內沒能執行完畢,則PHP不再繼續執行,直接給客戶端返回超時錯誤。沒有特殊需要該選項可保持默認設置30秒,如果您的PHP腳本確實需要長執行時間則可以適當增大該時間設置。
(3) PHP腳本處理內存占用找到:
memory_limit = 8M
該選項指定PHP腳本處理所能占用的最大內存,默認為8MB,如果您的服務器內存為1GB以上,則該選項可以設置為12MB以獲得更快的PHP腳本處理效率。
(4) PHP全局函數聲明找到:
register_globals = Off
網絡上很多關於PHP設置的文章都推薦將該選項設置為On,其實這是一種及其危險的設置方法,很可能引起嚴重的安全性問題。如果沒有特殊的需要,強烈推薦保留默認設置!
(5) PHP上傳文件大小限制找到:
upload_max_filesize = 2M
該選項設定PHP所能允許最大上傳文件大小,默認為2MB。根據實際應用需求,可以適當增大該設置。
(6) Session存儲介質找到:
session.save_path
(7)打開magic_quotes_gpc來防止sql註入。
sql註入非常危險,輕則網站後臺被入侵,重則整個服務器癱瘓。
agic_quotes_gpc = Off #默認是關閉狀態。打開之後將自行對用戶提交的sql查詢進行轉換,
如,把 ‘ 轉換為 \‘等 ,這對防止sql註入有重大作用,因此建議設置為:agic_quotes_gpc = On .
(8)錯誤信息控制:一般php程序在沒有連接到數據庫或者其他情況下出現提示錯誤,一般錯誤信息
中會有php腳本當前的路徑信息或者查詢sql語句等信息,這些信息如果被黑客利用使用的話,是及其
不安全的,所以一般建議服務器禁止提示錯誤信息。
該參數配置如下:
display_errors = Off
提示:在生產系統中,強烈建議你使用錯誤日誌記錄web站點上顯示的錯誤信息。
(9)錯誤日誌,在錯誤信息出現後,我們希望把錯誤信息記錄下來,便於查看php服務出錯的原因:
log_errors = On
同時也要設置日誌存放的目錄,建議存放目錄與web服務存放的路徑一致,如下面設置:
error_log = /application/apache/logs/php_errors.log #與Apache日誌在同一目錄
註意:該文件要給Apache用戶和組具有讀寫的權限。
更多在以後用到再總結:
參考網址:https://www.cnblogs.com/xiaorenwu702/p/6151553.html
php引擎文件php.ini優化參數