導航:首頁 > 編程語言 > php優化設置

php優化設置

發布時間:2022-05-16 10:45:13

php程序優化有什麼好用的技巧嗎

1、用單引號代替雙引號來包含字元串,這樣做會更快一些。因為PHP會在雙引號包圍的字元串中搜尋變數, 單引號則不會,注意:只有echo能這么做,它是一種可以把多個字元串當作參數的」函數」(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故 把函數加上了雙引號)。
2、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。

3、$row[『id』] 的速度是$row[id]的7倍。

4、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字元串連接,比如echo $str1,$str2。

5、在執行for循環之前確定最大循環數,不要每循環一次都計算最大值,最好運用foreach代替。

6、注銷那些不用的變數尤其是大數組,以便釋放內存。

7、盡量避免使用__get,__set,__autoload。

8、require_once()代價昂貴。

9、include文件時盡量使用絕對路徑,因為它避免了PHP去include_path里查找文件的速度,解析操作系統路徑所需的時間會更少。

10、如果你想知道腳本開始執行(譯註:即伺服器端收到客戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於time()。

❷ php性能優化的幾個方法

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

❸ PHP性能如何實現全面優化

1)、 變數大小,注意變數大小是節約內存的最有效手段,對於來自用戶表單、資料庫和文件緩存的數據都需要控制變數的大小。 因為cpu要處理的數據是來源於內存
2)、 變數有效期,使用unset()函數注銷不需要的變數是一種良好的習慣,將一些不需要的變數立即注銷可提高內存的使用率。
3)、 復制變數,盡量不要復制變數,否則就會帶來1倍的內存消耗,即使復制變數也應該要立即注銷原有變數。
4)、 變數類型,初始化變數請注意其變數類型,一個變數在執行過程中最好只有一種類型狀態。對於數組變數,請初始化聲明,如下: $a = array();
5)、 臨時變數,是處理業務邏輯的臨時存儲,這些都是需要消耗內存的。如果臨時變數使用結束請立即注銷,特別是在一些過程式代碼的執行流程中,對於一些函數,如果業務非常復雜,同樣需要立即注銷臨時變數
6)、 靜態變數,對於一些需要由復雜業務產生的變數,如果在程序的執行過程中多次產生並使用,可考慮使用靜態變數,減少程序的cpu執行次數
7)、 變數的性能:局部變數>全局變數>類屬性>未定義的變數。

❹ 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伺服器性能

1.定期釋放內存
2.添加swap
3.安裝php緩存擴展
4.php配置調整
5.php並發調整
6.php版本和mysql數據版本
7.卸載多餘擴展插件
8.搭配阿里雲存儲oss使用
以上純手打。只是列出個大概。具體還得自己慢慢優化。

❻ 讓PHP網站跑的更快 如何優化PHP

php(做為現在的主流開發語言)是一種執行起來非常迅速的編程語言,但是比起僅僅優化代碼來說仍然值得優化php(做為現在的主流開發語言)本身。

本文我們將根據一些實效闡述為什麼優化php(做為現在的主流開發語言)本身要比優化代碼來的更貼切,以及為什麼需要理解根據php(做為現在的主流開發語言)在你的伺服器上其他相關子系統的表現找出瓶頸並修復之。與此同時,我們也提到了如何優化您的php(做為現在的主流開發語言)代碼來讓他們擁有更快的執行速度。

獲得高性能

當我們談及好的性能,往往不僅僅是指您的php(做為現在的主流開發語言)代碼執行起來有多快。性能是一套在可量化評測和速度之間取出的平衡。僅僅依靠使用更少資源的代碼執行起來也許比在高速緩存中之行的代碼更慢,並且相同的一組(在高速緩沖中執行的)代碼可以在同時並發執行在一台Web伺服器上。

在下面的例子中,A.php(做為現在的主流開發語言)算作一位盡可能跑得快的賽跑選手,而B.php(做為現在的主流開發語言)是一個幾乎可以以同一慢速永遠跑下去的馬拉松選手。輕負荷情況下,A.php(做為現在的主流開發語言)可以充分的快,但是當流量增加後,B.php(做為現在的主流開發語言)的性能表現將僅僅降低一點點而A.php(做為現在的主流開發語言)會垮掉。

讓我們來通過一個事實來驗證此說法更深遠的本質意義。假設我們需要讀取一個250K的文件並生成一個關於此文件的HTML概要。我們寫了兩個腳本來做同樣一件事:hare.php(做為現在的主流開發語言)將一次性讀取整個文件到內存中,然後一步執行到位;而tortoise.php(做為現在的主流開發語言)每次只讀取文件的一行,並且決不超過內容容量。結果Tortoise.php(做為現在的主流開發語言)因為多次讀寫需要更多的系統回應而慢得多。"

程序每執行一次,hare.php(做為現在的主流開發語言)需要0.04秒CPU執行時間和10Mb的內存,而tortoise.php(做為現在的主流開發語言)需要0.06秒CPU執行時間和5Mb的內存。伺服器共有100Mb實際內存容量並且其CPU有99%是空閑的。我們同時假定執行這樣一個簡單事件不產生內存碎片。

當有10各程序並發執行時,hare.php(做為現在的主流開發語言)將發生內存溢出(10 ×10 = 100)。與此同時,tortoise.php(做為現在的主流開發語言)仍將有50Mb空餘內存可用!11個程序並發執行將使hare.php(做為現在的主流開發語言)徹底「潰敗」因為它開始需要使用虛擬內存——執行速度有可能降低到其常規速度的一半以下;而且現在每一個單獨程序進程需要0.08秒CPU執行時間。而此期間,tortoise.php(做為現在的主流開發語言)仍舊運行在其常規CPU執行時間——0.06秒!

以下表格中,執行得更快的php(做為現在的主流開發語言)腳本使用粗體區分開來:

------------------------------------------------------------------------------------------

| 連接數 | 每執行1次HTTP請求所需CPU執行時間(秒)| 每執行10次HTTP請求所需CPU執行時間(秒)| 每執行11次HTTP請求所需CPU執行時間(秒)|

------------------------------------------------------------------------------------------

| hare.php(做為現在的主流開發語言) | 0.04 | 0.04 | 0.88(內存溢出) |

------------------------------------------------------------------------------------------

| tortoise.php(做為現在的主流開發語言) | 0.06 | 0.60 | 0.66 |

------------------------------------------------------------------------------------------

如您在上例中看到的,獲得更好的性能不再僅僅是寫出執行起來更快的php(做為現在的主流開發語言)程序。高性能php(做為現在的主流開發語言)表現需要對底層硬體知識以及操作系統、軟體支持如Web伺服器、資料庫等有一個良好認識和理解。

瓶頸

以上兩個例子讓我們看到了(性能)下降的瓶頸所在。當擁有無限大容量的內存時,hare.php(做為現在的主流開發語言)的確是始終比tortoise.php(做為現在的主流開發語言)快。但是,僅僅認為內存是php(做為現在的主流開發語言)整體性能的瓶頸所在顯得過於單純——實際上遠不止這些:

(a) 網路

你的網路有可能是最大的瓶頸所在。如果你有10M的帶寬——最多你只能獲得1M/秒的傳輸速度。如果假設每個php(做為現在的主流開發語言)頁為30k,那麼每秒僅僅只傳輸33頁就將使你的網路帶寬達到飽和。更多導致瓶頸產生的因素包括頻繁訪問低速DNS,或者網路設備僅能獲得十分有限的存儲。

(b) CPU

如果你監視一下你的CPU負荷情況,發送一個純靜態HTML頁面並不會增加CPU負擔——就像我們以上提到的,此時瓶頸在於網路。當然啦,對於由php(做為現在的主流開發語言)生成的復雜動態頁面,你的CPU速度自然將成為限制因素之一。擁有包含多個CPU的伺服器或者一個伺服器陣列將減輕因CPU帶來的影響。

❼ 如何正確實現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網站如何優化才好

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

❾ 上海網站優化:PHP程序網站怎麼做優化

一、PHP網站關鍵詞優化

根據搜索引擎的工作原理,我們知道用戶和搜索引擎都是根據關鍵詞對目標網站進行搜索分析。通過分析這些的關鍵詞和搜索流量,我們發現在網站發展前期關鍵詞是影響網站被搜索引擎收錄的一個核心因素,關鍵詞給網站帶來了大量用戶的同時也帶來了大量的流量,其流量比例占網站總流量的絕大部分。由此可見,關鍵詞的優化對於網站的流量至關重要。而關鍵詞的確定必須是和網站內容高度相關的,一般網站需要在以下位置設置關鍵詞:

(1)關鍵詞需要出現在標簽當中,也就是標題當中需要包含關鍵詞,而且還需要保證不同的頁面是不一樣的;

(2)關鍵詞應放在網站的標簽內的keywords和description裡面,並且一般只可出現一次;

(3)網站logo圖片的Alt屬性中可以設置於網站主題的關鍵詞,其他圖片的Alt應放著與圖片相符合的ALT屬性,否則會被搜索引擎認為在作弊;

(4)網站的目錄名和文件名可以設置為關鍵詞,會更好的被搜索引擎抓取;

(5)網頁內容的中一般放置一篇文章的標題或者內容提要,這里需要放置關鍵詞,但是整個頁面的關鍵詞不易設置過度,一般設置在 標簽中,但需與文章內容相關,否則會認為在作弊。

二、PHP網站地圖優化

網站地圖優化又叫網站導航優化俗稱sitemap。首先網站地圖為網站訪問者指明了訪問網站的方向和路徑,清晰明了的告訴網站訪問者網站的布局和內容,給網站訪問者友好的體驗。用戶的體驗感覺不錯,那麼他下次訪問網站的幾率就會大大提高;其次搜索引擎蜘蛛也非常喜歡網站地圖。因此做好網站地圖SEO,對於網站非常重要。

(1)針對PHP網站,一般採用XML格式的網站地圖。網站地圖保存在根目錄下的一個XML文件里,大家在很多網站的底部都會發現有這么一個文件。例如:,它是網站上鏈接的列表。製作一個簡潔明了高效的網站地圖,可以為搜索引擎快速瀏覽整個網站的窗口,並且收錄網站的全部內容。

(2)一般在網站的footer下添加一個關鍵詞,並指向相應的內容頁面。

三、PHP網站 URL地址優化

URL地址優化包括URL地址靜態化(又叫偽靜態)和URL地址轉向兩個方面。根據搜索引擎的搜索原理,靜態頁面更有利於搜索引擎抓取收錄。現在大多數網站都是動態的頁面,比如本文所討論的PHP網站就為動態鏈接的頁面。那麼我們就要採取措施把PHP動態生成的頁面轉化為靜態頁面。

四、 url地址靜態化

(1))把網頁上帶鏈接的地方,都換上新的靜態化鏈接。搜索引擎和瀏覽器將通過該鏈接來發生請求。

(2)Apache伺服器中在httpd.conf或.htaccess使用」/dir/([^./]*)\.html」來實現新的重寫規則,告訴Apache服務執行這個重寫規則之後的操作。通過這樣一個重寫規則使得PHP生成的動態頁面轉化為靜態頁面展現給搜索引擎。當搜索引擎蜘蛛爬行到這里頁面的時候,就會記錄下這個新的頁面,從而達到URL地址優化的目的。在執行這樣的操作後,要保留原鏈接只需在httpd.conf中使用Alias指令(僅適用於apache伺服器)。

閱讀全文

與php優化設置相關的資料

熱點內容
找一個可以看的網址 瀏覽:79
四個字的國外電影,小孩兒 瀏覽:411
推薦看片網站 瀏覽:652
主角叫林飛的小說是什麼 瀏覽:683
閑置伺服器能幹什麼工作 瀏覽:949
asdr q-2299123 瀏覽:987
中國最大尺度古裝電影 瀏覽:695
電影和電視播放器 瀏覽:113
櫻桃小說by小花喵 瀏覽:514
英國看片網站叫什麼名字 瀏覽:676
法蘭克plc編程軟體 瀏覽:359
怎麼看pdf的字體 瀏覽:634
和李采潭合作的女演員有哪些 瀏覽:430
日本那部電影病嬌男主要當女主的狗是校園電影 瀏覽:210
抗日戰爭片400部 瀏覽:730
編程可以賺錢嗎 瀏覽:729
eclipseandroid建立工程 瀏覽:732
大胸女友主演 瀏覽:276
佛教電影《解怨》國語 瀏覽:474
哪部電影男孩叫安東 瀏覽:13