PHP參數調優

一 基礎簡介

PHP.ini 適合於nginx和apache,如php-fpm適合於nginx+fastcgi的配置
php.ini PHP引擎 php.fpm PHP的進程
PHP的配置文件由兩個,一個是development,另一個是production
兩個的區別:
生產場景php.ini的日誌都是關閉或者輸出到文件中的,所以我們在生產環境中把非程序上的輸出都關閉或隱藏

二 php.ini 參數調優

日誌的關閉與隱藏就是PHP的基本調優

1 打開PHP的安全模式

PHP的安全模式是PHP內嵌的安全機制,能夠控制一些PHP中的函數執行,同時把很多文件操作的函數進行權限控制,如果通過PHP來調用rm而刪除一些服務器資源,則安全不復存在

PHP參數調優
PHP參數調優

2 用戶組安全

當safe_mode 打開時,safe_mode_gid被關閉,那麼PHP腳本能夠對文件進行訪問,而且相同組的用戶也能對文件進行訪問,建議設置爲:safe_mode_gid=off
如果不設置,則有可能我發對服務器網站目錄下的文件進行操作
PHP參數調優

3 關閉危險函數

例如可以通過phpinfo()查看PHP的版本和基礎信息,進而對系統有一個瞭解
PHP參數調優

4 關閉PHP版本信息在HTTP頭中的泄露

PHP參數調優

5 關閉註冊全局變量

在PHP中提交的變量,包括使用POST或者GET提交的變量,都將自動註冊爲全局變量,能夠直接訪問,這對服務器是非常不安全的,所有我們不能讓他註冊爲全局變量,就把註冊全局變量的選項關閉,此處涉及到程序開發
PHP參數調優

6 打開magic_quotes_gpc 來防止SQL注入

SQL注入是非常危險的,輕則網站後臺被修改,重則整個服務器淪陷
PHP參數調優
SQL注入防範:
apache中mod_security和mod_enasive
nginx 中 nginx lua vaf

7 錯誤信息控制

一般的PHP在沒有連接到數據庫或者其他情況下會有提示錯誤,一般錯誤信息中會包含PHP腳本當前的路徑信息或者查詢的SQL語句等信息,這樣不安全
PHP參數調優
如果自己想看日誌,則首先需要設置日誌的級別

PHP參數調優
設置日誌打開並提供一個路徑
PHP參數調優

8 部分資源參數限制優化

1 設置每個腳本運行的最長時間

當無法上傳較大的文件或者後臺備份數據經常超時,需要調整,此參數是默認
PHP參數調優

2 每個腳本使用的最大內存

PHP參數調優

3 每個腳本等待輸入數據的最長時間

PHP參數調優
其中-1表示無限制

4 上載文件的最大許可大小

PHP參數調優

9 部分安全參數優化

1 禁止打開遠程地址

PHP參數調優

2 設定 cgi.fix_pathinfo=0放置nginx文件類型錯誤解析漏洞

PHP參數調優

10 調整PHP session 信息存放類型和位置

默認位置
PHP參數調優

一般的,在數據進行再次訪問如果會話存放在本地,訪問被調用到另一臺設備上,則會導致重新需要再次進行會話的保存
其默認的保存方式是文件,一般需要將文件修改爲memcached

PHP參數調優

搭建memcached

PHP參數調優
PHP參數調優

路徑修改爲memcached服務器的地址
PHP參數調優
PHP參數調優

重啓服務
PHP參數調優

查看info是否存在
PHP參數調優

二 php-fpm

1 pid

PHP參數調優
打開pid 通過pid進行管理

2 開啓錯誤日誌

PHP參數調優

3 開啓日誌級別

PHP參數調優

4 最大的FPM fork 進程的數量。如果併發比較大,可以開大一點

PHP參數調優

5 調整最大打開文件數量

PHP參數調優

6 用戶和組,要和nginx的用戶和組相同

PHP參數調優

7 修改監聽別的端口和IP地址

PHP參數調優

8 進程相關

1 默認

最大的進程數量
PHP參數調優
啓動服務進程數量
PHP參數調優
服務最小進程數量,當沒有流量時的服務數量
PHP參數調優
最大空間數
PHP參數調優

2 修改

PHP參數調優
修改參數結果
PHP參數調優
PHP參數調優
PHP參數調優
PHP參數調優
當該進程不使用時銷燬時間
PHP參數調優
每個子進程服務請求的數量
PHP參數調優

9 PHP的訪問日誌

PHP參數調優

10 慢查詢相關日誌開啓

PHP參數調優

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章