Maison  >  Article  >  cadre php  >  Installer Stone sous PHP7 peut améliorer les performances du framework Laravel !

Installer Stone sous PHP7 peut améliorer les performances du framework Laravel !

藏色散人
藏色散人avant
2020-11-06 15:34:162647parcourir

La chronique suivante de Laravel vous présentera comment installer Stone sous PHP7 pour améliorer les performances du framework Laravel, j'espère que ce sera le cas. utile aux amis dans le besoin !

Installer Stone sous PHP7 peut améliorer les performances du framework Laravel !

Installer Stone sous PHP7 améliore grandement les performances du framework Laravel

Comme nous le savons tous, plus le framework PHP est lourd, plus les performances sont faibles, car le framework lourd appellera de nombreuses classes, méthodes et fonctions personnalisées lors de l'analyse, ce qui entraînera une grave dégradation des performances.

Laravel est un framework PHP très populaire, mais c'est aussi un framework full-stack robuste, vous pouvez utiliser cette méthode (https://xueyuanjun.com/post/2398.html) pour tester votre Laravel Les performances et les effets de l'application ne sont pas idéaux.

Bien sûr, Laravel a également une version sœur : Lumen, qui est un micro-framework similaire à Slim. Si vous pensez que ce micro-framework est suffisamment utile, il peut être utilisé pour remplacer Laravel.

Heureusement, les performances de PHP7 ont presque doublé par rapport à PHP5.6, et le HHVM de Facebook est également une bonne alternative. Donc, si possible, utilisez autant que possible la dernière version de PHP. Les avantages ne sont pas minimes.

Mais pour les frameworks lourds comme Laravel, même avec PHP7/HHVM, les performances sont encore très faibles. Bien que la mise en cache (comme memcached/redis, etc.) puisse alléger la pression du serveur, elle ne fait qu'améliorer la vitesse. de pages statiques. Pour un endroit consommateur de performances comme Eloquent ORM, il est préférable de traiter les symptômes plutôt que la cause première (bien sûr, vous pouvez utiliser la façade DB à la place, référez-vous à ma question), n'est-il pas possible ? (Certains disent opcache, mais ça ne marche pas très bien pour le framework Laravel)

Non ! Vous avez besoin de Pierre !

Qu'est-ce que la pierre ? Ceci est le message de l'auteur sur PHPHub (https://learnku.com/laravel/t/2092/5-minutes-to-improve-the-performance-of-laravel-frame-more-than-10-times), Vérifiez consultez l'adresse du projet Stone (https://github.com/StoneGroup/stone) et la documentation (https://chefxu.gitbooks.io/stone-docs/content/).

Voici la méthode d'installation en PHP7 :

Mon environnement de test est Debian Linux 8 64 bits, OSX est également disponible (utilisez homebrew pour installer Nginx et PHP7 , autres opérations Voir ci-dessous), Windows n'est pas recommandé car la compilation des extensions est relativement fastidieuse.

En utilisant Debian/Ubuntu/Linux mint, vous pouvez utiliser la source dotdeb, qui possède la dernière version de Nginx, PHP7, MySQL/MariaDB. Bien sûr, je ne vous le dirai pas. J'utilise OpenResty. Je n'entrerai pas dans les détails du processus d'installation. Si vous ne savez pas comment faire, veuillez Google.

Installez d’abord les extensions swoole et runkit.

pecl install swoole

Le piège de PHP7 ici est que si vous utilisez cette source pour installer PHP7, puisque PEAR n'est pas la dernière version, vous risquez de rencontrer le problème décrit dans ce numéro :

wget http://pear.php.net/go-pear.phar
php go-pear.phar
est en train d'écrire Au moment de la rédaction de cet article, l'extension runkit ne prend actuellement pas en charge PHP7, n'utilisez donc pas pecl pour l'installer, sinon des erreurs de compilation se produiront. Mais quelqu'un a créé une version modifiée qui peut être utilisée, voir ce problème.

Méthode d'installation :

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

À ce stade, les deux extensions ont été installées avec succès.

Ensuite, écrivez le fichier ini en fonction de votre chemin réel de PHP7, et chargez swoole et runkit. Quant à Windows ou OSX, si vous utilisez homebrew pour l'installer, changez simplement php.ini directement.

Le chemin de PHP7 installé à l'aide de la source Dotdeb est /etc/php/7.0/, donc ma commande pertinente est :

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

Ensuite, installez Stone:composer require stone/kernel:dev-master, Ce que je dois dire, c'est qu'au moment de la rédaction de cet article, il y avait deux erreurs dans le gitbook de l'auteur :

1. J'ai écrit pecl comme

2. C'est toujours l'adresse de son projet précédent, et il a déclaré dans le message que parce que le projet précédent contenait des informations sur son entreprise, il a changé l'adresse en StoneGroup/stone.

Chacun doit suivre cet article lorsqu'il se réfère aux documents Stone pour éviter les détours. J'ai fait part de mes commentaires à l'auteur et il a résolu le problème.

Enfin, redémarrez php-fpm et utilisez php -m pour voir si ces deux extensions sont chargées avec succès.

Pour les prochaines étapes, il vous suffit de suivre la documentation. À ce stade, Stone est installé avec succès sur PHP7 ! Démarrez Stone et profitez du saut en performance !

PS : j'ai trouvé un autre projet similaire, mais les détails d'implémentation sont différents Si vous êtes intéressé, vous pouvez y jeter un œil : https://github.com/scil/LaravelFly

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer