天天看點

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

一 基礎簡介

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.ini 參數調優二 php-fpm
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

2 使用者組安全

當safe_mode 打開時,safe_mode_gid被關閉,那麼PHP腳本能夠對檔案進行通路,而且相同組的使用者也能對檔案進行通路,建議設定為:safe_mode_gid=off

如果不設定,則有可能我發對伺服器網站目錄下的檔案進行操作

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

3 關閉危險函數

例如可以通過phpinfo()檢視PHP的版本和基礎資訊,進而對系統有一個了解

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

4 關閉PHP版本資訊在HTTP頭中的洩露

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

5 關閉注冊全局變量

在PHP中送出的變量,包括使用POST或者GET送出的變量,都将自動注冊為全局變量,能夠直接通路,這對伺服器是非常不安全的,所有我們不能讓他注冊為全局變量,就把注冊全局變量的選項關閉,此處涉及到程式開發
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

6 打開magic_quotes_gpc 來防止SQL注入

SQL注入是非常危險的,輕則網站背景被修改,重則整個伺服器淪陷

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

SQL注入防範:

apache中mod_security和mod_enasive

nginx 中 nginx lua vaf

7 錯誤資訊控制

一般的PHP在沒有連接配接到資料庫或者其他情況下會有提示錯誤,一般錯誤資訊中會包含PHP腳本目前的路徑資訊或者查詢的SQL語句等資訊,這樣不安全
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

如果自己想看日志,則首先需要設定日志的級别

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

設定日志打開并提供一個路徑

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

8 部分資源參數限制優化

1 設定每個腳本運作的最長時間

當無法上傳較大的檔案或者背景備份資料經常逾時,需要調整,此參數是預設

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

2 每個腳本使用的最大記憶體

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

3 每個腳本等待輸入資料的最長時間

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

其中-1表示無限制

4 上載檔案的最大許可大小

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

9 部分安全參數優化

1 禁止打開遠端位址

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

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

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

10 調整PHP session 資訊存放類型和位置

預設位置

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

一般的,在資料進行再次通路如果會話存放在本地,通路被調用到另一台裝置上,則會導緻重新需要再次進行會話的儲存

其預設的儲存方式是檔案,一般需要将檔案修改為memcached

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

搭建memcached

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

路徑修改為memcached伺服器的位址

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm
PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

重新開機服務

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

檢視info是否存在

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

二 php-fpm

1 pid

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

打開pid 通過pid進行管理

2 開啟錯誤日志

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

3 開啟日志級别

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

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

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

5 調整最大打開檔案數量

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

6 使用者群組,要和nginx的使用者群組相同

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

7 修改監聽别的端口和IP位址

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

8 程序相關

1 預設

最大的程序數量

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

啟動服務程序數量

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

服務最小程序數量,當沒有流量時的服務數量

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

最大空間數

PHP參數調優一 基礎簡介二 php.ini 參數調優二 php-fpm

2 修改

9 PHP的通路日志

10 慢查詢相關日志開啟