cari
Rumahrangka kerja phpLaravelPHP7下安装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

Atas ialah kandungan terperinci PHP7下安装Stone能提升Laravel框架性能!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:segmentfault. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Menggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPMenggunakan Laravel: Menyelaraskan Pembangunan Web dengan PHPApr 19, 2025 am 12:18 AM

Laravel mengoptimumkan proses pembangunan web termasuk: 1. Gunakan sistem penghalaan untuk menguruskan struktur URL; 2. Gunakan enjin templat bilah untuk memudahkan pembangunan pandangan; 3. Mengendalikan tugas-tugas yang memakan masa melalui beratur; 4. Gunakan eloquentorm untuk memudahkan operasi pangkalan data; 5. Ikuti amalan terbaik untuk meningkatkan kualiti kod dan penyelenggaraan.

Laravel: Pengenalan kepada Rangka Kerja Web PHPLaravel: Pengenalan kepada Rangka Kerja Web PHPApr 19, 2025 am 12:15 AM

Laravel adalah rangka kerja PHP moden yang menyediakan set alat yang berkuasa, memudahkan proses pembangunan dan meningkatkan kebolehpercayaan dan skalabilitas kod. 1) Eloquentorm memudahkan operasi pangkalan data; 2) enjin templat bilah membuat pembangunan front-end intuitif; 3) alat baris perintah artis meningkatkan kecekapan pembangunan; 4) Pengoptimuman Prestasi termasuk menggunakan mekanisme eagerloading, caching, mengikuti seni bina MVC, pemprosesan giliran dan kes ujian menulis.

Laravel: Senibina dan amalan terbaik MVCLaravel: Senibina dan amalan terbaik MVCApr 19, 2025 am 12:13 AM

Senibina MVC Laravel meningkatkan struktur dan pemeliharaan kod melalui model, pandangan, dan pengawal untuk pemisahan logik data, persembahan dan pemprosesan perniagaan. 1) Model memproses data, 2) Pandangan bertanggungjawab untuk paparan, 3) Pengawal memproses input pengguna dan logik perniagaan. Seni bina ini membolehkan pemaju memberi tumpuan kepada logik perniagaan dan mengelakkan jatuh ke dalam kod qagmire.

Laravel: Ciri -ciri utama dan kelebihan dijelaskanLaravel: Ciri -ciri utama dan kelebihan dijelaskanApr 19, 2025 am 12:12 AM

Laravel adalah rangka kerja PHP berdasarkan seni bina MVC, dengan sintaks ringkas, alat baris perintah yang kuat, operasi data yang mudah dan enjin templat fleksibel. 1. Sintaks elegan dan API yang mudah digunakan menjadikan pembangunan cepat dan mudah digunakan. 2. Alat baris perintah artisan memudahkan penjanaan kod dan pengurusan pangkalan data. 3.eloquentorm menjadikan operasi data intuitif dan mudah. 4. Enjin templat bilah menyokong logik paparan lanjutan.

Membina backend dengan Laravel: PanduanMembina backend dengan Laravel: PanduanApr 19, 2025 am 12:02 AM

Laravel sesuai untuk membina perkhidmatan backend kerana ia menyediakan sintaks elegan, fungsi yang kaya dan sokongan masyarakat yang kuat. 1) Laravel adalah berdasarkan seni bina MVC, memudahkan proses pembangunan. 2) Ia mengandungi eloquentorm, mengoptimumkan operasi pangkalan data. 3) Ekosistem Laravel menyediakan alat seperti sistem tukang, bilah dan penghalaan untuk meningkatkan kecekapan pembangunan.

Perkongsian Kemahiran Kerangka LaravelPerkongsian Kemahiran Kerangka LaravelApr 18, 2025 pm 01:12 PM

Dalam era kemajuan teknologi yang berterusan, menguasai kerangka lanjutan adalah penting untuk pengaturcara moden. Artikel ini akan membantu anda meningkatkan kemahiran pembangunan anda dengan berkongsi teknik yang kurang dikenali dalam rangka kerja Laravel. Dikenali dengan sintaks yang elegan dan pelbagai ciri, artikel ini akan menggali ciri -ciri yang kuat dan memberikan tips dan cara praktikal untuk membantu anda membuat aplikasi web yang cekap dan boleh dipelihara.

Perbezaan antara Laravel dan ThinkPhpPerbezaan antara Laravel dan ThinkPhpApr 18, 2025 pm 01:09 PM

Laravel dan ThinkPHP adalah kerangka PHP yang popular dan mempunyai kelebihan dan kekurangan mereka sendiri dalam pembangunan. Artikel ini akan membandingkan kedua -dua kedalaman, menonjolkan seni bina, ciri, dan perbezaan prestasi mereka untuk membantu pemaju membuat pilihan yang tepat berdasarkan keperluan projek khusus mereka.

Senarai Fungsi Login Pengguna LaravelSenarai Fungsi Login Pengguna LaravelApr 18, 2025 pm 01:06 PM

Membina keupayaan log masuk pengguna di Laravel adalah tugas penting dan artikel ini akan memberikan gambaran keseluruhan yang menyeluruh yang meliputi setiap langkah kritikal dari pendaftaran pengguna untuk log masuk pengesahan. Kami akan menyelam ke dalam kuasa keupayaan pengesahan terbina dalam Laravel dan membimbing anda melalui penyesuaian dan memperluaskan proses log masuk untuk memenuhi keperluan tertentu. Dengan mengikuti arahan langkah demi langkah ini, anda boleh membuat sistem log masuk yang selamat dan boleh dipercayai yang menyediakan pengalaman akses yang lancar untuk pengguna aplikasi Laravel anda.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.