天天看點

php 中 調優(php。ini)

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"