⑴ 提高php開發效率的技巧
用單引號代替雙引號來包含字元串,這樣做會更快一些。因為PHP會在雙引號包圍的字元串中搜尋變數,單引號則不會,注意:只有echo能這么做,它是一種可以把多個字元串當作參數的「函數」(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。
2、$row[』id』] 的速度是$row[id]的7倍。
3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字元串連接,比如echo $str1,$str2。
4、在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
5、注銷那些不用的變數尤其是大數組,以便釋放內存。
6、盡量避免使用__get,__set,__autoload。
7、require_once()代價昂貴。
8、include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統路徑所需的時間會更少。
9、如果你想知道腳本開始執行(譯註:即伺服器端收到客戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於time()。
10、函數代替正則表達式完成相同功能。
11、str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。
⑵ 如何排查 PHP 網站運行速度慢的原因
排查 PHP 網站運行速度慢的原因
首先,使用瀏覽器的開發人員工具(Chrome)或Firefox的Firebug,確定,問題出在前端,還是後端。查看瀑布圖,看看是卡在了伺服器處理腳本上(典型特徵是文檔Waiting的時間特別長),還是前端(大量的圖片、大量的JS、好多Flash)。90%網站性能問題是由前端造成的。
若確定是伺服器端問題,看看PHP版本是不是過低了、使用XDebug的Profile結合Webgrind等,看看到底哪些函數執行的次數最多、單次時間最長、執行總時間最長,找到根源一擊必殺!PHP的編譯器不對PHP代碼進行任何優化,所以某種意義上蠻考研PHPer的功力。
⑶ 如何對PHP代碼進行優化以提高網站訪問速度
一、不要將整個頁面放到一個table中雖然現在已經很少人使用table來布局,但我覺得還是有必要提一下,原來有些站長為了追求頁面的整齊劃一,將整個網站頁面放入到一個table中,使用表格來布局,如果這樣做顯然會拖慢整個網頁的載入速度。因為table中的內容必須要等到網頁中所有內容全部載入完才會顯示出來,所以如果其中一部分載入很慢或載入不了,勢必會造成網頁的載入變慢。最好是使用div+css的方式來布局頁面,如果要使用table也不要將所有網頁內容加入到一個table中。 一.記得幫頁面減肥我們瀏覽網頁實際上是將虛擬主機中的網頁內容下載到本地硬碟,再用瀏覽器解釋查看的。下載網頁的快慢在顯示速度上佔了很大比重,所以,網頁本身 所佔的空間越小,那麼瀏覽速度就會越快。這就要求在做網頁的時候遵循一切從簡的原則,如:不要使用太大的Flash動畫、圖片等資源。干凈、簡潔的頁面會 給人一種思路明朗的感覺。 二、PHP等文件訪問通過.js調用。 如果在靜態頁面中需要嵌入動態數據,我們在進行PHP網站優化和其他方法優化時應該注意的是,如果你要在靜態的HTML頁面里嵌入動態的數據,而這些動態的數據是由PHP程序來提供的話,這樣的話,每次有一個人訪問你的網站,伺服器就要執行並處理一次PHP文件,從資料庫抽取相應的數據,再輸出到網頁,如果同時有幾萬人訪問,無疑會是伺服器不堪重負。 所以最好是將數據動態生成到.js文件中,然後再首頁通過< SCRIPT > < /SCRIPT> 這樣的代碼來調用js文件。如此一來,動態數據的顯示就在客戶端的瀏覽器中進行,大大降低了伺服器資源的消耗,網站速度自然會加快。 三.使用iframe嵌套廣告代碼。 如果你在網站上插入一些廣告,又不想因此拖慢網站速度,那使用iframe比較好。只要將這些廣告代碼整理到一個獨立的頁面中,使用iframe調用即可。代碼格式如下: 四、盡量使用靜態頁面和上面說的道理一樣,大家都知道,PHP等程序實現了網站的動態交互,如留言板等。但這類程序必須先由伺服器執行處理,再生成靜態頁面,然後用戶才能看到。這就必須小高伺服器資源。如果網站訪問人數多,伺服器配置又不夠好,很容易就造成網站速度緩慢甚至無法訪問。所以如果沒有必要,請盡量使用靜態頁面。 五.網站統計代碼應獨立放置在網頁的最下方之所以放置最下方是因為如果網站統計代碼出現故障無妨載入時,會有幾十毫秒的延遲,這時如果你將統計代碼放置網頁前面,就會影響網站載入速度。導致頁面很長時間才能訪問。
⑷ 關於php文件上傳速度太慢,有什麼優化的方法
在文件上傳過程中PHP-FPM並不會被阻塞,因為Nginx接收完上傳的內容後才一次性交給PHP-FPM.
Nginx和PHP-FPM的工作進程各自只開1個.