(1) PHP函數禁用找到
disable_functions =
該選項可以設置哪些PHP函數是禁止使用的,PHP中有一些函數的風險性還是相當大的,可以直接執行一些CentOS系統級腳本命令,如果允許這些函數執行,當PHP 程序出現漏洞時,損失是非常嚴重的!以下我們給出推薦的禁用函數設置:
disable_functions = PHPinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
需注意:如果您的服務器中含有一些CentOS系統狀態檢測的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
如果你的PHP程序使用Session對話,則可以將Session存儲位置設置為/dev/shm,/dev/shm是Linux系統獨有的TMPFS 文件系統,是以內存為主要存儲方式的文件系統,比RAMDISK更優秀,因為可以使用DISKSWAP作為補充,而且是CentOS系統自帶的功能模塊,不需要另行配置。想想看,從磁盤IO操作到內存操作,速度會快多少?只是需要注意,存儲在/dev/shm的數據,在服務器重啟後會全部丟失。不過這對於 Session來說是無足輕重的。這樣我們就完成了在CentOS系統PHP優化的步驟。