PHP引擎php.ini參數最佳化

來源:互聯網
上載者:User

標籤:php.ini   最佳化   參數   

參數以外常見的PHP最佳化方法手段

1)php引擎緩衝加速最佳化

#xcache、ZendOpcache、eaccelerator#http://www.lichengbing.cn/archivers/270.html

2) 使用tmpfs作為緩衝加速緩衝的檔案目錄

tmpfs,基於記憶體的檔案系統,加快轉存暫存檔案的速度

[[email protected] ~]# mount -t tmpfs tmpfs /dev/shm -o size=256m[[email protected] ~]# mount -t tmpfs tmpfs /dev/shm /tmp/eaccelerator #上傳圖片縮圖臨時處理目錄和緩衝目錄

3) 防止PHP程式上傳檔案到圖片附件目錄

#Nginx防禦 http://www.lichengbing.cn/archivers/279.html



php.ini參數調優

php.ini設定檔

[[email protected] php-5.5.32]# ll php.ini-*-rw-r--r--. 1 1001 1001 69236 Feb  2  2016 php.ini-development #開發環境-rw-r--r--. 1 1001 1001 69266 Feb  2  2016 php.ini-production #生產環境(關閉日誌或者輸出到檔案中)

1) 開啟php的安全模式

php安全模式是個非常重要的php內嵌的安全機制,能夠控制一些php的函數執行,比如system()調用系統命令函數

safe_mode = on

2)使用者組安全

safe_mode_gid = off #防止php程式對指令碼執行有許可權

3)關閉危險函數

如果開啟了安全模式,那麼函數禁止是可以不需要的,但是我們為了安全還是可以關閉的,特別是phpinfo()

disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

如果要禁止任何檔案和目錄的操作,那麼可以關閉很多檔案操作

disable_functions = chdir,chroot,dir,getcwd,opendir,readdir,scandie,fopen,unlink,delete,copy,mkdir,rmdir,rename,file,file_getcontents,fputs,fwrite,chgrp,chmod,chown

4)關閉PHP版本資訊在http頭中的泄漏

expose_php = off

5)關閉註冊全域變數

在PHP中提交的變數,包括使用POST或者GET提交的變數,都將自動註冊為全域變數,能夠直接存取,這是對服務非常不安全的

register_globals = off #推薦使用預定義的超全域變數:$_ENV,$_GET,$_POST,$_COOKIE,$_SERVER#該指令收variables_order指令的影響,5.5自動關閉了

6)開啟magic_quotes_gpc來防止SQL注入

SQL注入是非常危險的問題,輕則網站後台被入侵,重則整個伺服器淪陷

magic_quotes_gpc = off

這個預設是關閉的,如果它開啟將自動把使用者提交對sql的查詢進行轉換,比如把 ‘ 轉換為 \‘ 這對防止sql注入有重大作用,所以推薦設定為

magic_quotes_gpc = on

SQL注入防範:

Apache 中的mod_security和mod_evasive

Nginx lua waf

7)錯誤資訊控制

一般php在沒有串連到資料庫或者其他情況下會提示錯誤,一般資訊都會包含php指令碼當前的路徑資訊或者查詢的SQL語句資訊,這類資訊提供給駭客後市不安全的,建議關閉錯誤提示

display_errors = off #正式環境不要給使用者報錯

8)錯誤記錄檔

log_errors = on #開啟日誌開關error_log = /application/logs/php_error.log #設定路徑



部分資源限制參數最佳化

1)設定每個指令碼啟動並執行最長時間

但無法上傳較大的檔案或者後台備份資料經常逾時時,此時需要調整如下設定

max_execution_time = 30#每個指令碼允許的最大執行時間,0表示沒有限制#這個參數有助於阻止惡劣指令碼無休止的佔用伺服器資源

2)每個指令碼使用的最大記憶體

memory_limit = 128m

3)每個指令碼等待輸入資料最長時間

max_input_time = 60;   #(-1表示不限制)

4)上傳檔案的最大許可

upload_mx_filesize = 2M;



部分安全參數最佳化

1)禁止開啟遠程地址

記得最近出的php include的那個安全性漏洞吧!就是在一個php程式中的include了變數,那麼入侵者就可以利用這個控制伺服器在本地執行遠端一個php程式,例如phpshell

allow_url_fopen = off

2)設定防止Nginx檔案解析錯誤漏洞

cgi.fix_path = 0

3)調整php sesson會話共用資訊存放位置

session.save_handler = memcachesession.save_path = "tcp://10.0.0.8:1211"#首先搭建好memcache環境



PHP引擎php.ini參數最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.