常常有人問火端,為什麼同樣的PHP程式在火端的伺服器上運行那麼快,而在自己的伺服器上運行那麼慢?其實影響因素很多,這裡說下提升PHP運行速度的幾個方法。
1、伺服器使用Linux系統
Linux系統做伺服器在很多方面都比windows優秀,很多地方效能相差很大,如果你的伺服器上沒有ASP、ASP.net等程序,強烈建議使用Linux系統,Centos、Ubuntu、Debian等系統都是Linux核心。不但Linux效能好,而且Linux伺服器還便宜,特別是國外的伺服器,由於Windows Server是要收費的,許多國外Win伺服器都比Linux貴。
雖然Linux系統操作起來會比Windows複雜許多,但是我們可以查資料學,只要學會了基本的伺服器安裝使用操作,你一定會愛上Linux。後期有時間火端會搞個入門教程,讓大家都能輕鬆用上Linux伺服器。
2、使用Nginx或Apache來運行PHP
許多使用Win伺服器的站長,都是用IIS來跑PHP,甚至還有人使用IIS6來跑,這大大影響了PHP的發揮,在訪問量少的情況下可能不太明顯,訪問量一大就能感覺到區別了。如果你堅持使用Win伺服器,建議使用Nginx或Apache來跑PHP。不會搭建環境,建議使用PHPstudy軟體一鍵搭建,可以隨意切換Nginx、Apache、IIS以及PHP版本。
3、開始使用PHP7
如果你的程式支援PHP7,強烈建議你使用PHP7,PHP7相對PHP5.X有大幅的效能提升,在許多演算法上會比後者快兩、三倍!如果你的程式無法相容PHP7,那也盡量升級到PHP5.6。火端搜尋就完美支援PHP7。
4、使用OPcache加速PHP運行
OPcache 透過將PHP 腳本預編譯的字節碼儲存到共享記憶體中來提升PHP 的效能, 儲存預編譯字節碼的好處就是省去了每次載入和解析PHP 腳本的開銷。 PHP 5.5.0 及後續版本中已經綁定了 OPcache 擴充。
開啟OPcache也很簡單
#1、開啟php.ini檔案2、找到:[opcache],設定為:
[opcache] ; dll位址zend_extension=php_opcache .dll ; 開關打開opcache.enable=1 ; 開啟CLI opcache.enable_cli=1 ; 可用內存, 酌情而定, 單位為:Mb opcache.memory_consumption=528 ; Zend Optimizer + 暫存池中字符串的佔總內存量.(單位:MB) opcache.interned_strings_buffer=8 ; 對多重快取檔案限制, 命中率不到100% 的話, 可以試著提高這個值opcache.max_accelerated_files=10000 ; Opcache 會在一定時間內去檢查檔案的修改時間, 這裡設定檢查的時間週期, 預設為2, 定位為秒opcache.revalidate_freq=1 ; 打開快速關閉, 打開這個在PHP Request Shutdown的時候回收記憶體的速度會提高opcache.fast_shutdown=1 5、避免頻繁操作資料庫
大多數網站的瓶頸都是操作資料庫這塊,很多時候我們並不需要經常存取資料庫,這時候我們可以把資料快取下來,用Redis、memcache或檔案快取都可以。例如火端網路官方網站,大多數頁面的資料都是快取下來的,都是不需要讀資料庫的。
6、使用SSD硬碟做伺服器
固態硬碟只是提升檔案讀寫速度,對PHP一般的執行影響不大,但如果需要PHP頻繁操作文件,那SSD硬碟就發揮它的作用了。
以上是php中如何提升程式運作速度的幾個最佳化方案介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!