php版本:php5.3.27
1、php加速軟體eaccelerator、zend、xcache (個人推薦)
位址:http://linuxboys.blog.51cto.com/9150052/1575547
2、使用tmpfs(記憶體檔案系統)作為緩存加速緩存的檔案目錄。
mount -t tmpfs /dev/shm -o size=256m
mount -t tmpfs /dev/shm /tmp/eacclelerator
#上傳圖檔縮略圖處理的目錄
#百度百科tmpfs:http://baike.baidu.com/view/1511292.htm
3、參數調優:
php.ini的調優同樣 适合nginx 、apache ,但php-fpm.conf隻适合nginx+fcgi的配置。
(1) 338 safe_mode = Off 修改為On #啟用安全模式,預設沒有打開,
解釋:控制一些php中的函數執行,比如system(),同時把很多檔案操作的函數進行權限控制,打開後php将檢查目前腳本的擁有者是否和被操作的檔案的擁有者相同
添加:disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
#關閉可以檢視php資訊的phpinfo()等函數,如果打開安全模式,此處不需要執行。
(2)、 435 expose_php = On 修改為Off #關閉php的版本資訊
(3)、 703 register_globals = Off 修改為On #關閉全局變量的注冊
解釋:在php中送出的變量,包括使用POST或者GET送出的變量,都将會注冊為全局變量,可以直接通路,這是不安全的。
(4)、756 magic_quotes_gpc = Off 修改為On #自動把使用者送出對sql的查詢進行轉換;
解釋:sql注入特别危險,輕則入侵,重的淪陷,特别小心啊。
(5)、538 display_errors = Off #禁止錯誤提示,預設為OFF,測試開啟即可。
521 error_reporting = E_ALL & ~E_DEPRECATED #報錯資訊顯示級别,一般為警告以上。
(6)、 549 display_startup_errors = Off 修改為On #記錄錯誤日志
560 log_errors = /app/logs/php_error.log #定義錯誤日志的位置
#注意給檔案必須運作apache使用者群組具有寫的權限;
#564 log_errors_max_len = 1024 #logerror的最大長度
#575 ignore_repeated_source = Off #忽略重複的錯誤
部分參數優化:
444 max_execution_time = 30
#每個腳本最大允許執行時間(秒),0表示沒有限制;
這個參數有助于阻止劣質腳本無休止的占用資源伺服器
該指令僅影響腳本的運作時間,任何其它花費在腳本運作之外的時間
如用system()、sleep()函數的使用,資料庫查詢,檔案上傳等,都不包括在内
在安全模式下,不能用ini_set()在運作是改變這個設定
465 memory_limit = 128M
#一個腳本所能夠申請到的最大記憶體位元組數(可以使用k和M作為機關)
這個有助于防止劣質腳本消耗伺服器上的所有記憶體
能夠使用該指令必須在編譯時使用“--enable-memory-limit” 配置選項
如果要取消記憶體限制,則必須将其設定為-1.
設定了該指令後,memory_get_usage()函數将變為可用;
一般設定為32、64已經查不多了 。
454 max_input_time = 60
;每個腳本解析輸入資料(POST,GET,upload)的最大允許時間(秒)
-1表示不限制
892 upload_max_filesize = 2M
;上傳檔案的最大許可,根據需求自行修改;
903 allow_url_fopen = On
;禁止打開遠端位址
855 ;cgi.fix_pathinfo=1
;防止nginx檔案烈性錯誤解析的漏洞
1462 session.save_handler = files
;存儲和檢索與會話關聯資料的處理器名字,預設檔案(files)
;如果想要使用自定義的處理器(如基于資料庫的處理器),可用“user”
;設為"memcache" 則可以使用memcache 作為回話處理器(需要指定"--enable-memcache-session"編譯選項)
1491 ;session.save_path = "/tmp" ;預設位址
;傳遞給存儲處理器的參數。對于files處理器,此值是建立回話資料檔案的路徑。
注調整:session.save_handler = memcache
session.save_path = "tcp://10.0.0.0:11211"