搜尋
首頁php框架LaravelPHP7下安裝Stone能提升Laravel框架效能!

下面由Laravel專欄給大家介紹在PHP7下安裝Stone能提升Laravel框架效能的方法,希望對需要的朋友有幫助!

PHP7下安裝Stone能提升Laravel框架效能!

在PHP7下安裝Stone大幅提升Laravel框架效能

眾所周知,PHP框架越重,效能相對就越低,因為重型框架會在解析時呼叫非常多的類別、方法和自訂函數,導致效能嚴重下降。

Laravel是一個非常受歡迎的PHP框架,但它也是一個重型的全端框架,你可以用這個方法(https://xueyuanjun.com/post/2398.html)測試你的Laravel應用的性能,效果都很不理想。

當然Laravel還有姊妹版:Lumen,這個是類似Slim的微框架,如果你覺得這個微框架夠用,可以用來取代Laravel。

好在PHP7相對於PHP5.6而言,效能提升了將近一倍,而Facebook的HHVM也是個不錯的替代方案。所以如果可能的話,盡量用最新版PHP,好處不是一星半點兒。

但對於Laravel這些重型框架來說,即使用了PHP7/HHVM,性能還是很低,雖然用緩存(比如memcached/redis等)可以緩解伺服器壓力,但只是提升了靜態頁面速度,對於Eloquent ORM這種很耗性能的地方,還是治標不治本(當然你可以用DB門面代替,參考我的這個提問),難道就沒有辦法了嗎? (有人說opcache,但是它對於Laravel框架來說效果不是非常好)

不!你需要Stone!

Stone是什麼?這是作者在PHPHub上面的貼文(https://learnku.com/laravel/t/2092/5-minutes-to-improve-the-performance-of-laravel-frame-more-than-10-times),查看Stone專案地址(https://github.com/StoneGroup/stone)和文件(https://chefxu.gitbooks.io/stone-docs/content/)。

下面是在PHP7的安裝方法:

我的測試環境是Debian Linux 8 64位,OSX也可以(用homebrew安裝Nginx和PHP7,其他操作請看下面),不建議用Windows,因為編譯擴充相對麻煩。

用Debian/Ubuntu/Linux mint可以使用dotdeb來源,有最新版的Nginx,PHP7,MySQL/MariaDB。當然我不會告訴你,我用的是OpenResty,安裝過程不贅述,不會的請Google。

首先安裝swoole和runkit擴充。

pecl install swoole

PHP7在這裡的坑是,如果用這個來源安裝了PHP7,由於PEAR不是最新版,可能會遇到這個issues描述的問題,解決方法:

wget http://pear.php.net/go-pear.phar
php go-pear.phar

在撰寫本文時,runkit擴充暫時不支援PHP7,所以不要用pecl安裝,編譯會出錯的。但是有人做了修改版可以用,請看這個issues。

安裝方法:

git clone https://github.com/runkit7/runkit7.git
cd runkit7
phpize
./configure
make
sudo make install

到此這兩個擴充功能都安裝成功。

然後根據你的PHP7實際路徑來寫ini文件,載入swoole和runkit。至於Windows或OSX用homebrew安裝的話,直接改php.ini就行了。

使用Dotdeb來源安裝的PHP7路徑是/etc/php/7.0/,所以我的相關指令是:

sudo echo extension=swoole.so >> /etc/php/7.0/cli/conf.d/20-swoole.ini
sudo echo extension=swoole.so >> /etc/php/7.0/fpm/conf.d/20-swoole.ini
sudo echo extension=runkit.so >> /etc/php/7.0/cli/conf.d/20-runkit.ini
sudo echo extension=runkit.so >> /etc/php/7.0/fpm/conf.d/20-runkit.ini

然後安裝Stone:composer require stone/kernel:dev-master,不得不說的是,在撰寫本文時作者的gitbook上面有兩個錯誤:

1.把pecl寫成了pcel;

2.composer安裝的位址。仍然是他之前的專案地址,而他在貼文裡面說了,由於之前的專案包含了他的公司的某些信息,所以他換了個地址,就是StoneGroup/stone。

大家在參考Stone文件時務必按本文操作,少走彎路。我已向作者回饋,他修正了這個問題。

最後重啟php-fpm,再用php -m看看,這兩個擴充載入成功。

接下來的步驟,你依照文件來操作就行了,到此Stone在PHP7上面安裝成功!啟動Stone,好好享受效能的飛躍吧!

PS:找到另一個類似項目,但是在細節上面的實現方式不同,有興趣的可以看看:https://github.com/scil/LaravelFly

以上是PHP7下安裝Stone能提升Laravel框架效能!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:segmentfault。如有侵權,請聯絡admin@php.cn刪除
Laravel的影響:簡化網絡開發Laravel的影響:簡化網絡開發Apr 21, 2025 am 12:18 AM

Laravel通過簡化Web開發過程和提供強大功能脫穎而出。其優勢包括:1)簡潔的語法和強大的ORM系統,2)高效的路由和認證系統,3)豐富的第三方庫支持,使得開發者能專注於編寫優雅的代碼並提高開發效率。

Laravel:前端還是後端?澄清框架的角色Laravel:前端還是後端?澄清框架的角色Apr 21, 2025 am 12:17 AM

laravelispredminandermanthandermanthandermanthandermanthermanderframework,設計Forserver-SideLogic,databasemagement,andapideplupment,thryitalsosupportsfortfortsfrontenddevelopmentwithbladeTemplates。

Laravel vs. Python:探索性能和可擴展性Laravel vs. Python:探索性能和可擴展性Apr 21, 2025 am 12:16 AM

Laravel和Python在性能和可擴展性方面的表現各有優劣。 Laravel通過異步處理和隊列系統提升性能,但受PHP限制在高並發時可能有瓶頸;Python利用異步框架和強大的庫生態系統表現出色,但在多線程環境下受GIL影響。

Laravel vs. Python(與框架):比較分析Laravel vs. Python(與框架):比較分析Apr 21, 2025 am 12:15 AM

Laravel適合團隊熟悉PHP且需功能豐富的項目,Python框架則視項目需求而定。 1.Laravel提供優雅語法和豐富功能,適合需要快速開發和靈活性的項目。 2.Django適合複雜應用,因其“電池包含”理念。 3.Flask適用於快速原型和小型項目,提供極大靈活性。

Laravel的前端:探索可能性Laravel的前端:探索可能性Apr 20, 2025 am 12:19 AM

Laravel可以用於前端開發。 1)使用Blade模板引擎生成HTML。 2)集成Vite管理前端資源。 3)構建SPA、PWA或靜態網站。 4)結合路由、中間件和EloquentORM創建完整Web應用。

PHP和Laravel:構建服務器端應用程序PHP和Laravel:構建服務器端應用程序Apr 20, 2025 am 12:17 AM

PHP和Laravel可用於構建高效的服務器端應用。 1.PHP是開源腳本語言,適用於Web開發。 2.Laravel提供路由、控制器、EloquentORM、Blade模板引擎等功能,簡化開發。 3.通過緩存、代碼優化和安全措施,提升應用性能和安全性。 4.測試和部署策略確保應用穩定運行。

Laravel vs. Python:學習曲線和易用性Laravel vs. Python:學習曲線和易用性Apr 20, 2025 am 12:17 AM

Laravel和Python在學習曲線和易用性上的表現各有優劣。 Laravel適合快速開發Web應用,學習曲線相對平緩,但掌握高級功能需時間;Python語法簡潔,學習曲線平緩,但動態類型系統需謹慎。

Laravel的優勢:後端發展Laravel的優勢:後端發展Apr 20, 2025 am 12:16 AM

Laravel在後端開發中的優勢包括:1)優雅的語法和EloquentORM簡化了開發流程;2)豐富的生態系統和活躍的社區支持;3)提高了開發效率和代碼質量。 Laravel的設計讓開發者能夠更高效地進行開發,並通過其強大的功能和工具提升代碼質量。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),