日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

PHP 7安装使用体验,升级PHP要谨慎

發(fā)布時(shí)間:2025/3/17 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 7安装使用体验,升级PHP要谨慎 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、發(fā)揮PHP 7高性能的幾個(gè)要點(diǎn)

PHP 7相對(duì)于之前的PHP版本來(lái)說(shuō)可以說(shuō)性能有了質(zhì)的飛躍,但是所謂“好馬配好鞍,好車(chē)配風(fēng)帆”,想要發(fā)揮PHP 7的性能優(yōu)勢(shì),還需要從以下幾個(gè)方面做準(zhǔn)備:(此部分引自PHP7核心開(kāi)發(fā)者, Yaf, Yar, Yac等項(xiàng)目作者:Laruence)。

1. 記得啟用Zend Opcache,啟用Opcache非常簡(jiǎn)單, 在php.ini配置文件中加入:

?
1 2 3 zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1"

2. 使用新的編譯器, 推薦GCC 4.8以上, 因?yàn)橹挥蠫CC 4.8以上PHP 7才會(huì)開(kāi)啟Global Register for opline and execute_data支持, 這個(gè)會(huì)帶來(lái)5%左右的性能提升。

3. 開(kāi)啟HugePage有利于PHP 7更快, 首先在系統(tǒng)中開(kāi)啟HugePages, 然后開(kāi)啟Opcache的huge_code_pages,以CentOS 6.5為例, 通過(guò)命令:$sudo sysctl vm.nr_hugepages=512,分配512個(gè)預(yù)留的大頁(yè)內(nèi)存:

?
1 2 3 4 5 6 7 $ cat /proc/meminfo? | grep Huge AnonHugePages:????106496 kB HugePages_Total:?????512 HugePages_Free:??????504 HugePages_Rsvd:???????27 HugePages_Surp:????????0 Hugepagesize:???????2048 kB

然后在php.ini中加入:opcache.huge_code_pages=1,這樣一來(lái), PHP會(huì)把自身的text段, 以及內(nèi)存分配中的huge都采用大內(nèi)存頁(yè)來(lái)保存, 減少TLB miss, 從而提高性能.

4. 開(kāi)啟Opcache File Cache(實(shí)驗(yàn)性), 通過(guò)開(kāi)啟這個(gè), 可以讓Opcache把opcode緩存緩存到外部文件中, 對(duì)于一些腳本, 會(huì)有很明顯的性能提升。方法是在php.ini中加入:opcache.file_cache=/tmp。這樣PHP就會(huì)在/tmp目錄下Cache一些Opcode的二進(jìn)制導(dǎo)出文件, 可以跨PHP生命周期存在.

5. PGO。如果你的PHP是專(zhuān)門(mén)為一個(gè)項(xiàng)目服務(wù), 比如只是為你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以嘗試通過(guò)PGO, 來(lái)提升PHP, 專(zhuān)門(mén)為你的這個(gè)項(xiàng)目提高性能。具體的, 以wordpress 4.1為優(yōu)化場(chǎng)景.. 首先在編譯PHP的時(shí)候首先:$ make prof-gen。

6、然后用你的項(xiàng)目訓(xùn)練PHP, 比如對(duì)于Wordpress:$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null,也就是讓php-cgi跑100遍wordpress的首頁(yè), 從而生成一些在這個(gè)過(guò)程中的profile信息。最后:

?
1 2 $ make prof-clean $ make prof-use && make install

7、這個(gè)時(shí)候你編譯得到的PHP7就是為你的項(xiàng)目量身打造的最高性能的編譯版本。

二、PHP 7安裝與編譯

1、PHP 7官網(wǎng):

  • 1、官網(wǎng):http://php.net/
  • 2、下載:http://php.net/downloads.php

2、動(dòng)手能力強(qiáng)的朋友,可以自己直接到官方下載PHP 7,然后手動(dòng)編輯安裝。如果你已經(jīng)習(xí)慣使用lnmp.org站長(zhǎng)的LNMP一鍵安裝包,可以試試發(fā)布LNMP 1.3測(cè)試版,已經(jīng)增加了增加php7支持:網(wǎng)站平滑遷移到LNMP或LAMP建站環(huán)境的方法?。

3、OneinStack提供的LNMP安裝包已經(jīng)有了PHP 7一鍵安裝了,在執(zhí)行腳本的時(shí)候,可以選擇PHP 7安裝,PHP 7目前只有官方自帶的Zend Opcache擴(kuò)展可供安裝。

4、OneinStack安裝PHP 7安裝成功。

5、這是PHP 7信息顯示。

6、這是OneinStack提供的PHP 7的Opcache控制面板。

三、PHP 7與老版本PHP、HHVM性能對(duì)比

1、這是國(guó)外開(kāi)發(fā)者測(cè)試的PHP 7與PHP 5.6在Wordpress、Drupal等熱門(mén)程序下表現(xiàn)的性能,結(jié)果很明顯PHP 7性能提升很多。

2、PHP 7對(duì)于Wordpress等程序來(lái)說(shuō),不僅僅提升單個(gè)執(zhí)行速度,隨著Wordpress運(yùn)行在PHP 7的時(shí)間越久,性能提升就更多。

3、上文也說(shuō)到PHP 7對(duì)于PHP的性能提升在某些方面已經(jīng)超過(guò)了HHVM,這是國(guó)外zend.com官網(wǎng)給出的PHP 5.6、PHP 7、HHVM在不同的程序下執(zhí)行效率對(duì)比結(jié)果。

4、在專(zhuān)業(yè)開(kāi)源的電子商務(wù)系統(tǒng)Magento上測(cè)試PHP 5.6、PHP 7、HHVM的執(zhí)行效率,PHP 7是PHP 5.6運(yùn)行速度的兩倍,而內(nèi)存占用還比PHP 5.6低30%。

5、Drupal 8上測(cè)試PHP 7的效率是最快的,已經(jīng)超過(guò)了HHVM。

6、Wordpress測(cè)試時(shí)發(fā)現(xiàn),PHP 5.6執(zhí)行需要占用100MB內(nèi)存,而PHP 7只要25MB。

7、在不同的程序執(zhí)行速度上,PHP 7顯然已經(jīng)領(lǐng)跑,Ruby 2.1、Python 2.7.8、Perl 5.18.4都不及PHP 7。

四、PHP 7性能測(cè)試結(jié)果報(bào)告

1、空說(shuō)無(wú)憑,PHP 7運(yùn)行程序的性能到底如何呢?這里部落以一個(gè)全新的Wordpress為測(cè)試對(duì)象,運(yùn)行在PHP 7上Wordpress首頁(yè)加載時(shí)間測(cè)試顯示0.029秒,內(nèi)存是3.39MB。

2、這是同樣的Wordpress頁(yè)面運(yùn)行PHP 5.6上的頁(yè)面加載時(shí)間:1.955秒,內(nèi)存占用了3.92MB。從數(shù)據(jù)上看,PHP 7已經(jīng)完勝了PHP 5.6了。

3、PHP 7運(yùn)行Wordpress的效率相對(duì)于之前的版本確實(shí)有了質(zhì)的提升,為了全面了解PHP 7的性能,這里按照網(wǎng)站服務(wù)器壓力Web性能測(cè)試的方法,用Webbench模擬10秒內(nèi)200、400個(gè)連接數(shù),速度都是8000頁(yè)面/分以上。

4、此時(shí),VPS服務(wù)器系統(tǒng)負(fù)載是3.49。

5、把模擬的連接數(shù)提高到1600個(gè),速度依然保持在8000頁(yè)面/分以上。

6、此時(shí),VPS服務(wù)器系統(tǒng)負(fù)載是17,應(yīng)該有點(diǎn)吃力了。

7、把模擬的連接數(shù)提高到5000個(gè),速度是4800頁(yè)面/分,速度開(kāi)始慢下來(lái)了。

8、此時(shí),VPS服務(wù)器系統(tǒng)負(fù)載是23,服務(wù)器負(fù)責(zé)過(guò)重了。

9、為了測(cè)試PHP 7在本VPS主機(jī)承受能力的極限,Webbench模擬10000個(gè)連接數(shù)在20秒不斷訪問(wèn)服務(wù)器。

10、此時(shí),VPS服務(wù)器的系統(tǒng)負(fù)載近90,應(yīng)該是到達(dá)極限了,但是服務(wù)器依然沒(méi)有死機(jī)。

11、接下來(lái),讓我們來(lái)看看同樣配置的VPS主機(jī)運(yùn)行Wordpress的壓力測(cè)試結(jié)果,首先是用Webbench模擬10秒內(nèi)200、400個(gè)連接數(shù),速度是3600頁(yè)面/分,相對(duì)于上面的PHP 7測(cè)試的速度慢了一半。

12、這是PHP 5.6測(cè)試200、400個(gè)連接數(shù)的系統(tǒng)負(fù)載,已經(jīng)達(dá)到了10,明顯超出了在PHP 7環(huán)境上測(cè)試的3.49。

13、在PHP 5.6測(cè)試將模擬連接數(shù)提高到1000、2000個(gè),此時(shí)速度已經(jīng)降到1600頁(yè)面/分,連接成功數(shù)也降低到了500左右,遠(yuǎn)遠(yuǎn)低于在PHP 7測(cè)試時(shí)的2700。

14、此時(shí),系統(tǒng)負(fù)載達(dá)到了17了。

15、在PHP 5.6中用Webbench測(cè)試連接數(shù)為10000,在20秒內(nèi)不斷訪問(wèn)服務(wù)器。此時(shí),測(cè)試已經(jīng)卡住,沒(méi)有結(jié)果。

16、這里VPS服務(wù)器的系統(tǒng)負(fù)載已經(jīng)達(dá)到了1000以上,服務(wù)器已經(jīng)崩潰了。

17、PHP 5.6下的Wordpress網(wǎng)站已經(jīng)宕機(jī)了。

五、PHP 7兼容性問(wèn)題

1、目前國(guó)內(nèi)的Discuz等還不支持PHP 7,PHP擴(kuò)展也就只有官方的Opcache可以使用,其它的如eAccelerator、xcache、memcached等,大家可以隨時(shí)關(guān)注擴(kuò)展支持列表:https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog。php的memcache擴(kuò)展已經(jīng)有了:https://github.com/php-memcached-dev/php-memcached/tree/php7 和https://github.com/websupport-sk/pecl-memcache。感謝快樂(lè)家園博主的提醒。

2、經(jīng)過(guò)測(cè)試,PHP 7運(yùn)行Wordpress沒(méi)有任何問(wèn)題。

3、在PHP 7上安裝Wordpress插件都沒(méi)有問(wèn)題。

4、PHP 7還有部分函數(shù)、運(yùn)算符等可能出現(xiàn)不兼容問(wèn)題,不過(guò)99%的程序可能不會(huì)用到這些。

六、PHP 7安裝使用體驗(yàn)小結(jié)

1、使用PHP 7后有一個(gè)驚喜就是,確實(shí)如國(guó)外開(kāi)發(fā)者測(cè)試的那樣,PHP 7性能基本上與HHVM持平,由于HHVM借助實(shí)時(shí)(Just In Time)編譯器將 PHP 代碼編譯至機(jī)器指令,所以不少的PHP程序運(yùn)行在HHVM是需要改良的。

2、PHP 7具備了HHVM的超高性能,同時(shí)又有了PHP向后兼容的優(yōu)勢(shì),相信在不久的未來(lái)PHP 7會(huì)得到越來(lái)越多人的認(rèn)可和接受。雖然目前支持PHP 7的緩存、加速等擴(kuò)展還不多,但是這只是時(shí)間問(wèn)題,越來(lái)越多的開(kāi)發(fā)者會(huì)加入到PHP 7的開(kāi)發(fā)行列中。

來(lái)自:?http://www.phpxs.com/j/php7/1001234

總結(jié)

以上是生活随笔為你收集整理的PHP 7安装使用体验,升级PHP要谨慎的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。