當前位置:首頁 » 編程語言 » php優化工具

php優化工具

發布時間: 2022-04-19 12:06:25

① 如何正確實現php網站優化

1、使用GZip

在每一個PHP頁面頂部加入以下代碼:

<?php ob_start("ob_gzhandler");?>

使用該代碼後伺服器會壓縮所有需要傳送到客戶端的代碼,並在瀏覽器中進行解壓,從而使網站運行速度加快。這一功能還可以節省網站空間的流量。

2、不要濫用Javascript和Ajax

只在需要的時候才使用Javascript和Ajax,千萬不要濫用它們。有些網站使用了太多不必要的Ajax動畫,或使用Ajax來載入無用的部分。這樣一來Javascript文件就會變得很大,而實際上卻有很多其他方案來實現這些功能。

3、圖片、頭文件和HTTP請求

網頁所引用的圖片、外部文件以及CSS樣式文件越多,網頁就載入得越慢。花些時間把圖片文件和其他外部文件縮小一些吧,使它們能更快地被載入。此外,每一次載入圖片和外部文件時都會產生一個HTTP請求,這一定會拖延載入時間。

4、限制Mysql查詢次數

資料庫的每一次請求都會使網頁的載入速度減緩一些。網路開發者允許很難控制這一點,但是在一些細節的地方是可以進行優化的。比如,在選擇資料庫記錄時,不要使用以下代碼:

SELECT * FROM database

而是使用:

SELECT id, name, date, author, etc, blah, blah FROM database
這會消耗更少的查詢時間並減少伺服器的負載。

5、.php擴展名

有些人認為將JS文件保存為filename.js.php以及將CSS文件保存為stylesheet.css.php會讓載入的時間減少些,但我並沒有察覺到這其中的差別。當然,如果你網站的速度變得很慢,你可以試試這個方法。當然,你需要在每個PHP文件中用include()去載入這些文件。

② php做優化包括哪些內容

1:單引號代替雙引號,雙引號會去找變數。
2:方法定義為static,性能提升4倍。
3:$arr['id']的性能是$arr[id]的7倍。
4:echo性能快,盡量使用echo $a,$b,$c而非echo $a.$b.$c。
5:循環之前確定循環次數,盡量用foreach。
6:注銷不使用的變數,節省內存。
7:盡量不使用魔法函數:__get、__set等。
8:require_once()會檢查是否載入,消耗內存。
9:include文件時使用絕對路徑,省去查找的時間。
10:腳本開始執行時間$_SERVER[『REQUEST_TIME』]要好於time()。
11:正則效率低,用函數代替。
12:str_replace函數比preg_replace函數快,但strtr函數的效率是str_replace函數的四倍。
13:接收客串的效率比接收數組的效率高。
14:switch case好於多個if else。
15:用@屏蔽錯誤消息的方法很低效。
16:打開apache的mod_deflate模塊,可以提高網頁的瀏覽速度。
17:資料庫連接當使用完畢時應關掉,不要用長連接。
18:錯誤消息代價昂貴。
19:在方法中遞增局部變數,速度是最快的。幾乎與在函數中調用局部變數的速度相當。
20:遞增一個全局變數要比遞增一個局部變數慢2倍。
21:遞增一個對象屬性(如:$this->prop++)要比遞增一個局部變數慢3倍。
22:遞增一個未預定義的局部變數要比遞增一個預定義的局部變數慢9至10倍。
23:僅定義一個局部變數而沒在函數中調用它,同樣會減慢速度(其程度相當於遞增一個局部變數)。PHP大概會檢查看是否存在全局變數。
24:方法調用看來與類中定義的方法的數量無關,因為我(在測試方法之前和之後都)添加了10個方法,但性能上沒有變化。
25:派生類中的方法運行起來要快於在基類中定義的同樣的方法。
26:調用帶有一個參數的空函數,其花費的時間相當於執行7至8次的局部變數遞增操作。類似的方法調用所花費的時間接近於15次的局部變數遞增操作。
27:Apache解析一個PHP腳本的時間要比解析一個靜態HTML頁面慢2至10倍。盡量多用靜態HTML頁面,少用腳本。
28:盡量做緩存,可使用memcached。memcached是一款高性能的內存對象緩存系統,可用來加速動態Web應用程序,減輕資料庫負載。對運算碼 (OP code)的緩存很有用,使得腳本不必為每個請求做重新編譯
29:當操作字元串並需要檢驗其長度是否滿足某種要求時,你想當然地會使用strlen()函數。此函數執行起來相當快,因為它不做任何計算,只返回在zval 結構(C的內置數據結構,用於存儲PHP變數)中存儲的已知字元串長度。但是,由於strlen()是函數,多多少少會有些慢,因為函數調用會經過諸多步驟,如字母小寫化(譯註:指函數名小寫化,PHP不區分函數名大小寫)、哈希查找,會跟隨被調用的函數一起執行。在某些情況下,你可以使用isset() 技巧加速執行你的代碼。
30:當執行變數$i的遞增或遞減時,$i++會比++$i慢一些。這種差異是PHP特有的,並不適用於其他語言,所以請不要修改你的C或Java代碼並指望它們能立即變快,沒用的。++$i更快是因為它只需要3條指令(opcodes),$i++則需要4條指令。後置遞增實際上會產生一個臨時變數,這個臨時變數隨後被遞增。而前置遞增直接在原值上遞增。這是最優化處理的一種,正如Zend的PHP優化器所作的那樣。牢記這個優化處理不失為一個好主意,因為並不是所有的指令優化器都會做同樣的優化處理,並且存在大量沒有裝配指令優化器的互聯網服務提供商(ISPs)和伺服器。
31:並不是事必面向對象(OOP),面向對象往往開銷很大,每個方法和對象調用都會消耗很多內存。
32:盡量採用大量的PHP內置函數。
33:如果在代碼中存在大量耗時的函數,你可以考慮用C擴展的方式實現它們。
34:mod_zip可作為Apache模塊,用來即時壓縮你的數據,並可讓數據傳輸量降低80%。
35:在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情況下,盡量用 file_get_contents,因為他的效率高得多!但是要注意file_get_contents在打開一個URL文件時候的PHP版本問題。
36:盡量的少進行文件操作,雖然PHP的文件操作效率也不低的。
37:優化Select SQL語句,在可能的情況下盡量少的進行Insert、Update操作(在update上,我被惡批過)。
38:循環內部不要聲明變數,尤其是大變數:對象。
39:多維數組盡量不要循環嵌套賦值。
40:在可以用PHP內部字元串操作函數的情況下,不要用正則表達式。
41:foreach效率更高,盡量用foreach代替while和for循環。
42:用i+=1代替i=i+1。符合c/c++的習慣,效率還高。
43:對global變數,應該用完就unset()掉。

③ PHP用什麼來優化常用什麼工具

可以考慮安裝:Memcache

④ PHP中4個加速,緩存擴展的區別和選用建議

1、eAccelerator
eAccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提高了PHP腳本的緩存性能,使得PHP腳本在編譯的狀態下,對伺服器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使PHP程序代碼執效率能提高1-10倍。從文字上可以理解為:eAccelerator是PHP加速器擴展。
2、memcached
Memcached 是一個高性能的分布式內存對象緩存系統,用於動態Web應用以減輕資料庫負載。它通過在內存中緩存數據和對象來減少讀取資料庫的次數,從而提供動態、資料庫驅動網站的速度。從文字上可以理解為:內存緩存擴展,並且針對於集群伺服器使用較多,主要用於分布式緩存,算是資料庫緩存。
3、Alternative PHP Cache(APC緩存)
Alternative PHP Cache (APC緩存)是一種對PHP有效的開放源高速緩沖儲存器工具,他能夠緩存Opcode(目標文件)的PHP中間碼。 APC的緩存分兩部分:系統緩存和用戶數據緩存. 系統緩存 是自動使用的,是指APC把PHP文件源碼的編譯結果緩存起來,然後在再次調用時先對比時間標記。如果未過期,則使用緩存代碼運行。默認緩存 3600s(一小時).但是這樣仍會浪費大量CPU時間.因此可以在php.ini中設置system緩存為永不過期(apc.ttl=0).不過如果這樣設置,改運PHP代碼後需要restart一下您的web伺服器(比如apache…).目前對APC的性能測試一般指的是這一層cache;從文字上理到:Alternative PHP Cache(APC緩存)也算是一種內存緩存擴展,算是資料庫緩存擴展。
4、Xcache
是一個開源的opcode緩存器/優化器, 他能夠提高伺服器上的PHP性能,他通過把編譯PHP後的數據緩沖到共享內存從而避免重復的編譯過程, 能夠直接使用緩沖區已編譯的代碼從而提高速度. 通常能夠提高您的頁面生成速率2到5倍, 降低伺服器負載。 其實它與eAccelerator一樣是PHP加速器擴展。
以上就是他們的作用與區別,簡單一點就是:eAccelerator,xcache是PHP緩存擴展,memcached、APC緩存是資料庫緩存擴展,一般兩者只有要安裝其中一個即可,不要貪多。另外,實際測試中發現當Cache數量超過一定閥值的時候,APC的性能不如Memcache。所以在擴展的選擇上,本人一般會選擇xcache+memcached這個組合。

⑤ php有哪些優化技巧

1. echo 比 print 快。
2. 使用echo的多重參數代替字元串連接。
3. 在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。
4. 對global變數,應該用完就unset()掉。
5. 用單引號代替雙引號來包含字元串,這樣做會更快一些。因為PHP會在雙引號包圍的字元串中搜尋變數,單引號則不會。
6. 函數代替正則表達式完成相同功能。
7. 當執行變數$i的遞增或遞減時,$i++會比++$i慢一些。這種差異是PHP特有的,並不適用於其他語言,++$i更快是因為它只需要3條指令(opcodes),$i++則需要4條指令。後置遞增實際上會產生一個臨時變數,這個臨時變數隨後被遞增。而前置遞增直接在原值上遞增。
8. 使用選擇分支語句(switch case)好於使用多個if,else if語句。
9. 利用var_mp進行PHP代碼調試。如果你在尋找php調試技術,我必須說var_mp應該是你要找的目標,在顯示php信息方面這個命令可以滿足你的所有需要,而調試代碼的多數情況與得到PHP中的數值有關。
10. 在包含文件時使用完整路徑,解析操作系統路徑所需的時間會更少。
11. 動輒創建全局數值是一種糟糕的做法,不過有時候實際情況的確又需要這么做。對於資料庫表或資料庫連接信息使用全局數值是一個不錯的想法,但不要在你的PHP代碼中頻繁使用全局數值。另外,更好的一種做法是把你的全局變數存放在一個config.php文件中。

⑥ php性能優化的幾個方法

面對一個性能問題是,第一步永遠是找到問題產生的原因,而不是去看技巧列表。搞明白產生瓶頸的原因,找到目標並且實施修復,然後再重新測試。查找瓶頸只是萬里長征的第一步,這里有些常用技巧,希望對最重要的第一步找到瓶頸能有所幫助。

  • 使用監控方法(比如監控寶),進行benchmark和監控,網路,特別是網路狀況瞬息萬變,做得好的話5分鍾就可以找到瓶頸。

  • 剖析代碼。必須了解那部分代碼耗時最多,在這些地方多多關注。

  • 想找到瓶頸,請檢查每個資源請求(比如,網路、CPU、內存、共享內存、文件系統、進程管理、網路連接等等……)

  • 先對迭代結構和復雜的代碼進行benchmark

  • 在在真實負載下用真實數據進行真實測試,當然,如果可以最好用產品伺服器。

  • 緩存
    (Caching)

    有些人認為緩存是解決性能問題最有效的辦法之一,試試這些:

  • 使用OPCODE(操作碼)緩存,這樣腳本就不會在每次訪問時重新編譯一次。比如:啟用Windows平台上的windows緩存擴展。可以緩存opcode,文件,相對路徑,session數據和用戶數據。

  • 考慮在多伺服器環境下使用分布式緩存

  • 在調用imap_header()之前先調用imap_headers()

  • 編譯
    vs. 解釋(Compiling vs. Interpreting)

    將PHP源碼編譯成機器碼。動態解釋執行同樣的編譯,但它是按行執行的。編譯為opcode是折中選擇,它可以將PHP源碼翻譯為opcode,之後opcode再轉為機器碼。以下為關於編譯與解釋的相關技巧:

  • 上線之前將PHP代碼編譯為機器碼。opcode緩存盡管並不是最好的選擇,但依舊比解釋型來得強。或者,考慮將PHP代碼編譯成一個C擴展。

  • PHP的opcode編譯器(bcompiler)還不能在產品環境中使用

⑦ 如何設置BT寶塔面板並優化php伺服器性能

設置寶塔面板需要安裝組件,然後參考寶塔面板優化 php 伺服器性能,按照裡面的設置,一項項的操作完畢,就差不多了。

寶塔面板把優化php已經變成一件很簡單的事情了。

⑧ PHP網站怎麼做SEO優化

優化網站,對於PHP來說主要有以下幾點

  • 代碼分析,找出耗時長或者卡頓的代碼加以優化。

  • 循環太多:循環太多就考慮如何去掉循環,或者優化循環體結構,包括每次提前計算好變數,不在循環體內做過多運算。

  • IO瓶頸:就是sql語句有缺陷,或者磁碟讀寫過慢,網路帶寬過低。sql優化包括索引優化,啟用redis或memcache,分表分庫等等優先順序從前到後,網上都有很多教程。磁碟讀寫慢,就要考慮上固態硬碟。帶寬就要聯系網路運營商解決

  • 精簡前端頁面。現在頁面功能越來越復雜,卡頓不一定是後台,前端出現問題也很多。包括頁面內容太多(適當縮減一部分網頁內容),js,css,圖片太大(對js,css進行壓縮,去掉冗餘代碼等。使用壓縮格式的圖片,如jpg格式控制圖片大小(盡量在100K甚至10K以內)啟用網頁緩存等)

  • 深度優化性能,包括採用更快的PHP(PHP7.2),更快的伺服器(Linux+nginx),更快的mysql(讀寫分離)等等。

⑨ 如何徹底優化php程序降低CPU佔用

1、優化數據和邏輯和查詢。
2、改用php7,並且用嚴格模式編寫。
3、優化伺服器實現動靜分離比如把apache和iis換成nginx或nginx+apache。

⑩ 如何安裝php優化容器zendoptimer

編譯前預處理
在編譯opcache之前,先做一下預處理,生成configure文件;
#cd zendopcache-7.0.3
#/opt/lampp/bin/phpize [這是我安裝的xampp環境,phpize執行文件所在的目錄,如果是自己源碼編譯,則為/usr/local/php/bin/phpize,phpize 命令是用來准備 PHP 拓展模塊的編譯環境。編譯安裝。如果還有什麼疑問的話,可以去後盾人看看這樣你會懂得更多

熱點內容
如何開啟電腦伺服器無法上網 發布:2025-01-23 17:37:06 瀏覽:391
安卓手機鎖了怎麼開 發布:2025-01-23 17:21:18 瀏覽:137
經濟學演算法 發布:2025-01-23 17:13:46 瀏覽:421
如何和軟體聯系伺服器 發布:2025-01-23 17:13:00 瀏覽:800
javacrc16演算法 發布:2025-01-23 17:11:31 瀏覽:225
編程加圖片 發布:2025-01-23 17:10:33 瀏覽:567
中國風網站源碼 發布:2025-01-23 17:05:56 瀏覽:680
pythonfilter用法 發布:2025-01-23 17:04:26 瀏覽:569
java轉number 發布:2025-01-23 16:58:11 瀏覽:477
解壓的英語作文 發布:2025-01-23 16:45:05 瀏覽:970