L’année 2021 a été très mouvementée pour PHP (et Kinsta). PHP 8.0 a déjà un an, et la très attendue PHP 8.1 est sortie le 25 novembre 2021, apportant de nombreuses fonctionnalités intéressantes. Vous pouvez vous informer sur toutes les dernières fonctionnalités de PHP 8.1 dans notre article détaillé.

Chaque année, nous publions nos tests de performance approfondis pour diverses plateformes PHP afin de voir comment les différentes versions de PHP se comparent les unes aux autres. Cette année, nous avons évalué 5 versions différentes de PHP sur 14 plateformes/configurations PHP uniques, dont WordPress, Drupal, Joomla, Laravel, Symfony et bien d’autres. Nous avons également testé d’autres plateformes PHP populaires telles que WooCommerce, Easy Digital Downloads, October CMS et Grav.

Chez Kinsta, nous encourageons toujours l’utilisation des dernières versions PHP prises en charge. Non seulement elles sont les plus sécurisées, mais elles offrent également de nombreuses améliorations de performance. Aujourd’hui, nous allons vous montrer comment PHP 8.0 et 8.1 résistent à presque tout ce que nous leur faisons subir.

Vous êtes impatient ? C’est parti !

L’état de PHP

PHP (acronyme récursif de PHP : Hypertext Preprocessor) est l’un des langages de programmation et de script côté serveur les plus utilisés. Il est open source et utilisé principalement pour le développement web. Et comme PHP propulse une grande partie du cœur du logiciel WordPress, c’est un langage essentiel pour la communauté WordPress.

Logo PHP.
Logo PHP.

Alors que certains pourraient suggérer que PHP est mort, c’est loin d’être la vérité. Selon W3Techs, PHP est utilisé par 78,1 % de tous les sites web dont le langage de programmation côté serveur est connu. Cela représente près de 4 sites web sur 5 !

PHP est plus vivant, plus rapide et meilleur que jamais.

PHP se situe au sommet des langages de programmation côté serveur.
PHP se situe au sommet des langages de programmation côté serveur.

Si cela vous semble mort, nous aimerions savoir ce qui est considéré comme vivant ! Même lorsqu’il est comparé à JavaScript et à ses nouvelles implémentations côté serveur, PHP se tient fièrement à ses côtés.

Cependant, il y a un gros problème au sein de la communauté PHP. De nombreux sites web utilisent encore des versions obsolètes et des installations PHP non prises en charge. Selon W3Techs, 29,9 % des sites web utilisent toujours PHP 5.6 ou une version inférieure.

 Versions PHP de WordPress (en date du 01 février 2022).
Versions PHP de WordPress (en date du 01 février 2022).

En ce qui concerne les statistiques relatives à WordPress, seuls 50,6 % des sites fonctionnent avec des versions PHP supportées. Pire encore, 10,2 % de tous les sites WordPress fonctionnent avec PHP 5.6 ou une version inférieure. C’est mieux que l’ensemble de la communauté PHP, mais de nombreux sites web ont leurs portes dérobées grandes ouvertes.

Nous pensons qu’il y a plusieurs raisons à ceci :

  • Le manque d’éducation au sein de la communauté WordPress concernant PHP et son rôle essentiel dans WordPress.
  • Problèmes de compatibilité avec les extensions et les thèmes fonctionnant avec des versions PHP plus récentes (notamment PHP 8.0 et plus).
  • La réticence des fournisseurs d’hébergement WordPress à diffuser de nouvelles versions de PHP par crainte de créer des problèmes pour leurs clients.

Kinsta suit le même calendrier de fin de vie (End Of Life ou EOL) que PHP pour éviter ce problème troublant. Cela permet de garder tous les sites WordPress hébergés chez nous aussi rapides et sûrs que possible.

Comment les clients de Kinsta se situent-ils par rapport à la communauté WordPress en général ? Nous étions nous-mêmes curieux, alors nous avons jeté un coup d’œil aux chiffres.

Voici le résumé :

  • 62,22 % des sites WordPress de Kinsta utilisent PHP 7.4.
  • 27,27 % des sites WordPress de Kinsta utilisent PHP 8.0.
  • 10,51 % des sites WordPress de Kinsta utilisent PHP 8.1.

*A compter du 1er décembre 2022

Nous sommes fiers et excités par ces statistiques. Cela signifie que le taux d’adoption de PHP parmi les clients de Kinsta est beaucoup plus élevé que celui de la communauté WordPress et PHP en général. Et cela nous rend très heureux !

Note : PHP 8.0 a apporté de nombreux changements de rupture, de sorte que de nombreux utilisateurs ne l’ont pas encore adopté. Cependant, nous nous attendons à ce que de plus en plus de sites l’adoptent bientôt.

Si vous souhaitez apprendre le langage PHP, nous avons dressé une liste d’excellents tutoriels PHP (gratuits et payants).

Benchmarks PHP (2023)

Bien que les versions 7.2, 7.3 et 7.4 de PHP ne soient plus activement supportées, de nombreux sites web fonctionnent encore avec elles. Nous avons donc décidé de tester cinq versions différentes de PHP afin que vous puissiez constater à quel point les nouvelles versions de PHP sont impressionnantes en termes de performances.

Cette année, le meilleur choix est, bien sûr, la nouvelle version PHP 8.1. Il s’agit du dernier développement le plus excitant dans le monde de PHP, et ce pour une bonne raison. Tous les frameworks et CMS basés sur PHP ne le supportent pas encore totalement, mais nous en avons testé le plus grand nombre possible.

Nous avons utilisé la dernière version de chaque plateforme pour chaque test et avons évalué l’une de ses URL avec 15 utilisateurs simultanés pour 1000 requêtes. Nous avons effectué plusieurs analyses comparatives pour nous assurer que les résultats étaient cohérents. En outre, nous avons pris en compte la moyenne des trois meilleurs résultats.

Vous trouverez ci-dessous les détails de notre environnement de test :

  • Machine : Intel Xeon (CPU 30 cœurs), 120 Go de RAM, 1 To de disque dur. Il s’agit d’une machine virtuelle Compute-Optimized (C2) propulsée par Google Cloud Platform et fonctionnant dans un conteneur isolé. Tous les plans d’hébergement Kinsta ont des machines C2 disponibles.
  • Système d’exploitation : Ubuntu 20.04.1 LTS (Focal Fossa)
  • Serveur web : Nginx 1.21.6 (nginx/1.21.6)
  • Base de données : MariaDB 10.6.7 (MariaDB-1:10.6.7+maria~focal)
  • Versions PHP : 7.2, 7.3, 7.4, 8.0, 8.1
  • Mise en cache des pages : désactivée sur toutes les plateformes et configurations.
  • OPcache : Activation d’OPcache sur toutes les plateformes et configurations en utilisant les réglages recommandés de php.ini, sauf pour la valeur opcache.max_accelerated_files que nous avons augmenté de 4000 à 50000. Les réglages OPcache utilisés sont :
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=50000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
opcache.enable_cli=1

Comme OPcache améliore les performances de PHP en stockant le bytecode du script précompilé dans la mémoire partagée du serveur, il élimine la nécessité pour PHP de charger et d’analyser les scripts pour chaque requête.

Plateformes et configurations PHP testées

Nos tests incluent les 14 plateformes/configurations PHP suivantes. Cliquez sur l’une d’entre elles pour accéder directement aux résultats des tests et aux notes. Nous avons mesuré les données en requêtes par seconde. Plus il y a de requêtes, mieux c’est.

Comme le contenu de démonstration de chaque plateforme peut varier considérablement, nous avons testé les performances brutes de leurs installations de base. L’objectif est de comparer différentes versions de PHP. Les CMS et les frameworks ne servent que d’outils. Vous ne devriez pas utiliser ces résultats pour comparer une plateforme à une autre, mais plutôt pour voir comment elle se compare à elle-même sur différentes versions de PHP.

Nous avons également inclus leur taille et des captures d’écran pour vous donner une meilleure idée des pages testées. Certaines sont petites, d’autres sont énormes.

Sans plus attendre, allons-y !

WordPress 5.9-RC2

WordPress a été la première plateforme que nous avons testée. Après tout, elle propulse ce blog que vous lisez et 43.3% de tous les sites web sur Internet. Il s’agit d’un logiciel gratuit et open source que vous pouvez utiliser pour créer de magnifiques sites web, blogs et applications.

WordPress logo

Nous avons commencé avec WordPress 5.9-RC2 (Release Candidate 2), la dernière version lors de l’évaluation comparative pour cet article. Elle est livrée avec le nouveau thème Twenty Twenty-Two installé. Nous avons évalué l’URL pour 1000 requêtes avec 15 utilisateurs simultanés. La même méthodologie a été utilisée pour tous les autres tests.

 La page WordPress testée.
La page WordPress testée.

URL testée : /hello-world/

  • Thème : Twenty Twenty Two
  • Notes : La page du blog comprend un en-tête avec un logo textuel, un menu de navigation, le corps de l’article, un commentaire et des widgets de pied de page tels que Recherche, Articles récents et Commentaires récents.
  • Source de l’image : WordPress.org
 Benchmarks PHP WordPress 5.9-RC2.
Benchmarks PHP WordPress 5.9-RC2.

Résultats de l’évaluation comparative

  • Résultats du benchmark WordPress 5.9-RC2 PHP 7.2 : 106,56 req/sec
  • Résultats du benchmark WordPress 5.9-RC2 PHP 7.3 : 108,45 req/sec
  • Résultats du benchmark WordPress 5.9-RC2 PHP 7.4 : 110.24 req/sec
  • Résultats du benchmark WordPress 5.9-RC2 PHP 8.0 : 111.10 req/sec
  • Résultats du benchmark WordPress 5.9-RC2 PHP 8.1 : 163.43 req/sec 🏆

PHP 8.1 est le vainqueur incontesté, avec une vitesse de 47.10 % supérieure à celle de PHP 8.0. C’est un résultat surprenant, compte tenu de la proximité des autres résultats. Et si vous le comparez à PHP 7.2, il peut gérer plus de 50 % de requêtes (ou transactions) par seconde.

WordPress avec PHP 8.1 peut gérer 47,10 % de requêtes par seconde de plus que PHP 8.0. Assurez-vous de faire la mise à jour dès aujourd'hui ! 🤘🏽🚀Click to Tweet

WordPress 5.9-RC2 + WooCommerce 6.1.1

WooCommerce est une solution open source de eCommerce pour WordPress. Contrairement aux autres plateformes de commerce électronique populaires, elle est entièrement personnalisable et extensible. WooCommerce est également l’une des extensions eCommerce électronique les plus populaires dans la communauté WordPress, alimentant 14 % de tous les sites de commerce électronique sur Internet.

WooCommerce logo

Pour notre prochain test, nous avons installé WooCommerce sur WordPress. Nous avons utilisé le thème gratuit Storefront et les données par défaut de WooCommerce pour configurer le site de test. L’URL testée est une page de produit unique.

 La page WooCommerce testée.
La page WooCommerce testée.
  • URL testée : /product/hoodie/
  • Thème : Storefront 3.9.1
  • Notes : La page d’un seul produit comprend un en-tête avec un logo, un slogan, un menu de navigation, un widget de recherche et un panier. Le corps de la page contient un seul produit avec son image, sa description, le bouton Ajouter au panier, des commentaires et plusieurs widgets de colonne latérale. En bas se trouve le widget Produits similaires avec trois produits. Il comprend également un widget latéral pour mettre en valeur d’autres produits.
  • Source de l’image : Répertoire d’extensions WordPress
Benchmarks PHP WordPress 5.9-RC2 + WooCommerce 6.1.1.
Benchmarks PHP WordPress 5.9-RC2 + WooCommerce 6.1.1.

Résultats de l’évaluation comparative

  • WordPress 5.9-RC2 + WooCommerce 6.1.1 Résultats du benchmark PHP 7.2 : 130.73 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 Résultats du benchmark PHP 7.3 : 137,52 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 Résultats du benchmark PHP 7.4 : 141.48 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 Résultats du benchmark PHP 8.0 : 141.71 req/sec
  • WordPress 5.9-RC2 + WooCommerce 6.1.1 Résultats du benchmark PHP 8.1 : 147.67 req/sec 🏆

PHP 8.1 est le grand gagnant pour WooCommerce également. Il a battu PHP 8.0 avec une petite marge.

Votre boutique WooCommerce fonctionnant en PHP 7.2 est 11.47 % plus lente que celle de votre concurrent en PHP 8.1 ! Assurez-vous d'effectuer une mise à niveau dès que possible ! 🛒🚀Click to Tweet

WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1

Easy Digital Downloads est une extension eCommerce gratuite pour WordPress. Créée par Pippin’s Plugins (maintenant détenue par Awesome Motive), elle est entièrement axée sur l’aide à la vente de produits numériques (par exemple, e-books, logiciels, jeux vidéo).

Easy Digital Downloads Logo

Pour Easy Digital Downloads, nous avons utilisé son thème gratuit Themedd et son contenu par défaut pour configurer le site de test. La page testée est une page de produit unique.

 La page testée pour Easy Digital Downloads.
La page testée pour Easy Digital Downloads.
  • URL testée : /downloads/money-buys-happiness/
  • Thème : Themedd
  • Notes : La page produit unique d’EDD est légère, contenant une image, une description, un bouton d’achat et quelques liens vers des catégories. L’en-tête comporte un logo, un slogan et un panier, tandis que le pied de page contient un texte de base sur le copyright.
  • Source de l’image : Site officiel d’Easy Digital Downloads
 Benchmarks PHP WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1.
Benchmarks PHP WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1.

Résultats de l’évaluation comparative

  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 Résultats du benchmark PHP 7.2 : 352.87 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 Résultats du benchmark PHP 7.3 : 382.17 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 Résultats du benchmark PHP 7.4 : 392.07 req/sec
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 Résultats du benchmark PHP 8.0 : 407.59 req/sec 🏆
  • WordPress 5.9-RC2 + Easy Digital Downloads 2.11.4.1 Résultats du benchmark PHP 8.1 : Non supporté 🚫

Au moment de l’évaluation, la dernière version d’EDD ne prenait pas encore en charge PHP 8.1. Comme l’année précédente, PHP 8.0 surpasse toutes les autres versions de PHP avec WordPress et Easy Digital Downloads.

Drupal 9.3.3

Drupal est un logiciel de gestion de contenu gratuit et open source. Il est populaire pour ses fonctionnalités flexibles et modulaires. Selon W3Techs, Drupal est utilisé par 1,3 % de tous les sites web, dont 2,0 % des sites web utilisant un système de gestion de contenu.

Drupal logo

Nous avons installé Drupal avec son profil d’installation Umami, un site web de démonstration de magazine gastronomique qui démontre les fonctionnalités de base de Drupal.

 La page Drupal testée.
La page Drupal testée.
  • URL testée : /en/articles/dairy-free-and-delicious-milk-chocolate/
  • Thème : Umami Food Magazine
  • Notes : La page testée est un article et comprend de nombreuses fonctionnalités telles que le widget de recherche, le widget de changement de langue, le module de connexion, les fils d’Ariane, la colonne latérale avec le widget des articles mis en avant, le widget des collections de recettes et le formulaire d’inscription.
  • Source de l’image : Drupal.org
 Benchmarks PHP Drupal 9.3.3.
Benchmarks PHP Drupal 9.3.3.

Résultats de l’évaluation comparative

  • Résultats du benchmark Drupal 9.3.3 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark Drupal 9.3.3 PHP 7.3 : 267.62 req/sec
  • Résultats du benchmark Drupal 9.3.3 PHP 7.4 : 268.84 req/sec
  • Résultats du benchmark Drupal 9.3.3 PHP 8.0 : 289.04 req/sec
  • Résultats du benchmark Drupal 9.3.3 PHP 8.1 : 302.27 req/sec 🏆

Drupal 9.x.x a parcouru un long chemin depuis notre dernière évaluation comparative. Non seulement il est compatible avec les nouvelles versions de PHP, mais il est aussi exceptionnellement performant. Nous sommes impatients de voir comment il évoluera à l’avenir !

Joomla! 4.0.6

Joomla! est un autre système de gestion de contenu gratuit et open source. Il a été publié pour la première fois en 2005 et est le deuxième CMS open source le plus populaire utilisé aujourd’hui. Selon W3Techs, Joomla! est utilisé par 1,7 % de tous les sites web qu’ils suivent.

Joomla! logo

Pour l’évaluation comparative de Joomla! nous avons utilisé le modèle gratuit Cassiopeia qui est livré avec toutes les distributions de Joomla! 4.x.

 La page testée de Joomla.
La page testée de Joomla.
  • URL testée : / (page d’accueil)
  • Thème : Cassiopeia
  • Notes : Joomla ! est installé avec « Default English (GB) Sample Data », qui ajoute un contenu essentiel au site. La page d’accueil contient quelques paragraphes de contenu, un widget de recherche, et d’autres widgets de base sur la colonne latérale tels que le formulaire de connexion, les étiquettes populaires, et les derniers articles.
  • Source de l’image : Joomla.org
 Benchmarks PHP Joomla! 4.0.6.
Benchmarks PHP Joomla! 4.0.6.

Résultats de l’évaluation comparative

  • Résultats du benchmark Joomla! 4.0.6 PHP 7.2 : 38,18 req/sec
  • Résultats du benchmark Joomla! 4.0.6 PHP 7.3 : 39.41 req/sec
  • Résultats du benchmark Joomla! 4.0.6 PHP 7.4 : 39,57 req/sec
  • Résultats du benchmark Joomla! 4.0.6 PHP 8.0 : 39,84 req/sec
  • Résultats du benchmark Joomla! 4.0.6 PHP 8.1 : 41.97 req/sec 🏆

Après quelques soubresauts, Joomla! est de nouveau sur les rails. Les résultats suivent le schéma attendu : PHP 8.1 est le champion incontesté, suivi de près par PHP 8.0, puis par les autres.

Grav 1.7.29

Grav est un CMS open source flat-file. Il ne nécessite pas de base de données pour fonctionner, mais il est riche en fonctionnalités. Grav interroge le contenu à partir de fichiers texte. Cela le rend léger et facile à installer sur presque tous les serveurs.

Grav CMS logo

Pour réaliser ce test, Grav nécessite PHP 7.3 et plus pour fonctionner. Nous avons utilisé le package Grav de base qui fournit une page de destination par défaut pour le test.

 La page Grav testée.
La page Grav testée.
  • URL testée : / (page d’accueil)
  • Thème : Quark
  • Notes : La page de test est une page simple avec beaucoup de contenu, y compris l’en-tête, le logo, le menu de navigation et le pied de page. La mise en cache de Grav Core a été désactivée pour tester les performances brutes de PHP.
  • Source de l’image : Site officiel de Grav
 Benchmarks PHP Grav 1.7.2.
Benchmarks PHP Grav 1.7.2.

Résultats de l’évaluation comparative

  • Grav 1.7.29 Résultats du benchmark PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark Grav 1.7.29 PHP 7.3 : 1800.07 req/sec
  • Résultats du benchmark Grav 1.7.29 PHP 7.4 : 1848.02 req/sec
  • Résultats du benchmark Grav 1.7.29 PHP 8.0 : 1931.72 req/sec
  • Résultats du benchmark Grav 1.7.29 PHP 8.1 : 2137.43 req/sec 🏆

PHP 8.1 est le vainqueur incontesté avec Grav, suivi de près par PHP 8.0 et les autres. 

Comme il s’agit d’un CMS relativement nouveau, sa part de marché est inférieure à celle de WordPress. Par conséquent, il peut abandonner assez rapidement la prise en charge des anciennes versions de PHP. C’est l’un des avantages les plus importants des CMS modernes.

OctoberCMS 1.3.1

OctoberCMS est un CMS basé sur le framework PHP Laravel. Initialement gratuit et open source, OctoberCMS est désormais une plateforme payante après avoir changé son modèle de licence en 2021. Elle est populaire parmi les développeurs pour créer des sites web dynamiques en utilisant la puissance de Laravel. Selon W3Techs, OctoberCMS ne propulse que 0,1 % des sites web.

October

Nous avons utilisé le thème de démonstration par défaut d’OctoberCMS pour le site de test. Il s’agit d’un thème responsive avec une mise en page bien définie.

 La page testée d'OctoberCMS.
La page testée d’OctoberCMS.
  • URL testée : /
  • Thème : Thème de démonstration
  • Notes : La page testée comporte de nombreux éléments, notamment un logo, un menu de navigation, des sections de texte, des éléments de code, etc. Nous avons suivi la documentation relative à l’amélioration des performances pour nous assurer qu’elle est configurée pour fonctionner aussi efficacement que possible. Au moment de la rédaction de ce document, OctoberCMS nécessite PHP 7.2+ pour fonctionner et ne prend pas encore en charge PHP 8.1.
  • Source de l’image : Site officiel d’OctoberCMS
 Benchmarks PHP OctoberCMS 1.3.1.
Benchmarks PHP OctoberCMS 1.3.1.

Résultats de l’évaluation comparative

  • Résultats du benchmark OctoberCMS 1.3.1 PHP 7.2 : 417.13 req/sec
  • Résultats du benchmark OctoberCMS 1.3.1 PHP 7.3 : 458,63 req/sec
  • Résultats du benchmark OctoberCMS 1.3.1 PHP 7.4 : 532,65 req/sec
  • OctoberCMS 1.3.1 Résultats du benchmark PHP 8.0 : 640.08 req/sec 🏆
  • OctoberCMS 1.3.1 Résultats du benchmark PHP 8.1 : Non supporté 🚫

PHP 8.0 est le grand gagnant ici. OctoberCMS a traité 20,16 % de requêtes par seconde de plus avec PHP 8.0 qu’avec PHP 7.4. Nous sommes impatients de voir comment sa prochaine mise à jour majeure se comporte avec PHP 8.1.

Laravel 8.80.0

Laravel est le framework PHP le plus populaire à l’heure actuelle. Créé par Taylor Otwell, il a été publié en juin 2011. Vous pouvez utiliser Laravel pour développer presque toutes les applications web, y compris les CMS, les sites eCommerce, les applications et bien plus encore.

Laravel logo

Nous avons utilisé la page d’accueil Laravel par défaut pour évaluer Laravel.

Comme le fondateur de Laravel, Taylor Otwell, l’a déjà souligné, vous ne devriez pas utiliser ces résultats pour comparer Laravel à d’autres frameworks PHP. L’objectif ici est de voir comment Laravel se comporte sur différentes versions de PHP lorsque tout est constant.

 La page Laravel testée.
La page Laravel testée.
  • URL testée : / (page d’accueil)
  • Thème : Plain HTML
  • Notes : La page testée comporte de nombreux éléments HTML essentiels. Bien qu’il ne s’agisse pas d’une application web à part entière, l’objectif est d’évaluer PHP plutôt que Laravel.
  • Source de l’image : Dépôt officiel de Laravel
 Benchmarks PHP Laravel 8.80.0.
Benchmarks PHP Laravel 8.80.0.

Résultats de l’évaluation comparative

  • Résultats du benchmark de Laravel 8.80.0 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark Laravel 8.80.0 PHP 7.3 : 2278.86 req/sec
  • Résultats du benchmark Laravel 8.80.0 PHP 7.4 : 2303.23 req/sec
  • Résultats du benchmark Laravel 8.80.0 PHP 8.0 : 2376.40 req/sec 🏆
  • Résultats du benchmark Laravel 8.80.0 PHP 8.1 : 2002.94 req/sec

Il est agréable de constater que Laravel prend en charge la dernière version de PHP. PHP 8.0 est le champion incontesté de Laravel, tandis que PHP 8.1 arrive en dernière position. Il y a une certaine marge d’amélioration ici. Peut-être que la version 9 de Laravel, qui vient d’être publiée, pourrait donner des résultats intéressants, mais cela sera pour nos prochains benchmarks.

Symfony 5.4.2

Symfony est un ensemble de composants PHP réutilisables et un framework PHP pour construire des applications web, des API, des micro-services et des services web. C’est un logiciel gratuit et open source qui a été publié le 22 octobre 2005.

Symfony

Bien que Symfony ait sorti sa version 6.x, elle ne supporte que PHP 8.0 et plus. Par conséquent, nous avons décidé qu’il était plus approprié d’utiliser sa dernière version 5.4.2 pour évaluer PHP.

Vous pouvez installer Symfony avec une application de démonstration. Il s’agit d’une application CMS de référence qui démontre comment utiliser au mieux Symfony et ses différentes fonctionnalités. Nous avons utilisé la page d’accueil de cette application de démonstration pour évaluer Symfony.

La page Symfony testée.
La page Symfony testée.
  • URL testée : / (page d’accueil)
  • Thème : Démo Symfony
  • Notes : La page testée contient un en-tête avec un logo, un lien vers la page d’accueil, un widget de recherche, un widget de changement de langue et un blogroll avec de nombreux articles. Il y a également une colonne latérale, avec des widgets tels qu’une petite zone de texte, « Afficher le code » et « Blog Posts RSS ».
  • Source de l’image : Dépôt officiel de Symfony
Benchmarks PHP Symfony 5.4.2.
Benchmarks PHP Symfony 5.4.2.

Résultats de l’évaluation comparative

  • Résultats du benchmark Symfony 5.4.2 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark Symfony 5.4.2 PHP 7.3 : 416.18 req/sec
  • Résultats du benchmark Symfony 5.4.2 PHP 7.4 : 434,95 req/sec
  • Résultats du benchmark Symfony 5.4.2 PHP 8.0 : 443,79 req.sec
  • Résultats du benchmark Symfony 5.4.2 PHP 8.1 : 524.78 req/sec 🏆

Avec Symfony, il y a une différence massive entre PHP 8.1 et les autres. Par exemple, Symfony fonctionne 20,65 % plus vite avec PHP 8.1 qu’avec PHP 7.4.

Symfony sur PHP 8.1 peut gérer 20,65 % de requêtes par seconde de plus que PHP 7.4 ⏩⚡Click to Tweet

CodeIgniter 4.1.8

CodeIgniter est un framework PHP à encombrement réduit. Par exemple, sa dernière version est un téléchargement de 1,2 Mo. Il est créé par EllisLab et encouragé par l’Institut de technologie de la Colombie-Britannique. Malgré sa taille, vous pouvez utiliser CodeIgniter pour développer des applications web complètes.

CodeIgniter logo

Pour évaluer CodeIgniter, nous avons mis en place une application de démonstration en utilisant leur tutoriel officiel. Elle utilise un thème HTML de base et produit de nombreux articles « News ».

 La page CodeIgniter testée.
La page CodeIgniter testée.
  • URL testée : /news/
  • Thème : Plain HTML
  • Notes : La page testée contient une liste de nouvelles avec le titre, le contenu et le lien vers le contenu principal. La base de données comprend une table « news » avec 1000 lignes de nouvelles, avec des colonnes -> id, title, slug, body. La page se connecte à la base de données et affiche tous les articles de la table. L’application CodeIgniter contient 1 route et 1 contrôleur pour afficher ce contenu.
  • Source de l’image : Site officiel de CodeIgniter.com
Benchmarks PHP CodeIgniter 4.1.8.
Benchmarks PHP CodeIgniter 4.1.8.

Résultats de l’évaluation comparative

  • Résultats du benchmark CodeIgniter 4.0.4 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark CodeIgniter 4.0.4 PHP 7.3 : Non supporté 🚫
  • Résultats du benchmark CodeIgniter 4.0.4 PHP 7.4 : 1907.33 req/sec
  • Résultats du benchmark CodeIgniter 4.0.4 PHP 8.0 : 1770.33 req/sec
  • Résultats du benchmark CodeIgniter 4.0.4 PHP 8.1 : 1920.51 req/sec 🏆

PHP 8.1 est le plus rapide avec CodeIgniter, réalisant 8,48 % de requêtes par seconde de plus que PHP 8.0. Cependant, il est surprenant de constater que PHP 7.4 est bien plus performant que PHP 8.0 – il est presque à égalité avec PHP 8.1.

CakePHP 4.3.4

CakePHP est un framework web open source pour le développement d’applications PHP. Il promet de rendre la création d’applications web plus simple, plus rapide et moins codée.

CakePHP logo

Pour évaluer CakePHP, nous avons utilisé sa page d’accueil par défaut. Nous l’avons connectée à une base de données avant de procéder à l’évaluation.

La page CakePHP testée.
La page CakePHP testée.
  • URL testée : / (page d’accueil)
  • Thème : Plain HTML
  • Notes : La page testée est une simple page d’accueil HTML avec quelques styles. Elle donne de brèves informations sur l’installation actuelle de CakePHP.
  • Source de l’image : Dépôt officiel de CakePHP
Benchmarks PHP CakePHP 4.3.4.
Benchmarks PHP CakePHP 4.3.4.

Résultats de l’évaluation comparative

  • Résultats du benchmark CakePHP 4.2.2 PHP 7.2 : 743.46 req/sec
  • Résultats du benchmark CakePHP 4.2.2 PHP 7.3 : 874.69.28 req/sec
  • Résultats du benchmark CakePHP 4.2.2 PHP 7.4 : 954.30 req/sec
  • Résultats du benchmark CakePHP 4.2.2 PHP 8.0 : 973.02 req/sec 🏆
  • Résultats du benchmark CakePHP 4.2.2 PHP 8.1 : 918,21 req/sec

De façon surprenante, PHP 8.0 prend le dessus avec CakePHP. Cependant, tous les résultats des benchmarks sont trop serrés pour désigner un vainqueur définitif. PHP 8.1 est seulement 5,6 % plus lent que PHP 8.0. Les futures mises à jour de CakePHP 4.3.x pourraient résoudre cet écart.

Craft CMS 3.7.30.1

Craft CMS est un système de gestion de contenu open source axé sur la convivialité. Son backend est entièrement personnalisable. Grâce à un outil intégré permettant de concevoir des dispositions de champs personnalisées pour différents types de contenu, Craft CMS permet également de travailler très simplement avec des types de contenu personnalisés.

Si vous envisagez de créer une boutique de commerce électronique personnalisée, consultez Craft Commerce. Et pour un environnement de développement local pour Craft CMS, il y a aussi Craft Nitro.

Craft CMS logo

Pour le benchmark de Craft CMS, nous avons utilisé la page de connexion par défaut de l’administration. Il s’agit d’une page de connexion simple qui comprend un formulaire de connexion pour accéder au backend du site.

 La page testée de Craft CMS.
La page testée de Craft CMS.
  • URL testée : /admin/login/
  • Thème : Thème par défaut
  • Notes : La page testée est une simple page de connexion avec un formulaire.
  • Source de l’image : Dépôt officiel de Craft CMS
 Benchmarks PHP Craft CMS 3.7.30.1.
Benchmarks PHP Craft CMS 3.7.30.1.

Résultats de l’évaluation comparative

  • Résultats du benchmark de Craft CMS 3.5.17.1 PHP 7.2 : 75.32 req/sec
  • Résultats du benchmark de Craft CMS 3.5.17.1 PHP 7.3 : 74.69 req/sec
  • Résultats du benchmark de Craft CMS 3.5.17.1 PHP 7.4 : 81.68 req/sec
  • Résultats du benchmark de Craft CMS 3.5.17.1 PHP 8.0 : 417.21 req/sec
  • Résultats du benchmark de Craft CMS 3.5.17.1 PHP 8.1 : 443.18 req/sec 🏆

PHP 8.1 a pris la première place avec Craft CMS. Contrairement à nos précédents benchmarks, Craft CMS prend désormais en charge à la fois PHP 8.0 et PHP 8.1 – c’est formidable !

Kirby 3.6.1.1

Kirby est un CMS flat-file axé sur la création et la publication de contenu. Bien que son code source soit disponible publiquement, il n’est pas libre d’utilisation sur un serveur public. Avec Kirby, vous pouvez personnaliser votre interface d’édition avec des formulaires, des articles, des galeries, des feuilles de calcul, etc.

Kirby logo

Vous pouvez installer Kirby avec Starterkit, qui met en place un site de démonstration entièrement fonctionnel. Nous avons utilisé la page À propos de nous pour ce test.

 La page testée de Kirby.
La page testée de Kirby.
  • URL testée : /about/
  • Thème : Starterkit
  • Notes : La page testée est une page À propos de nous avec une image mise en avant, du texte, des widgets, un en-tête, un menu de navigation, des icônes de réseaux sociaux et un pied de page.
  • Source de l’image : Site officiel de Kirby
 Benchmarks PHP Kirby 3.6.1.1.
Benchmarks PHP Kirby 3.6.1.1.

Résultats de l’évaluation comparative

  • Résultats du benchmark Kirby 3.6.1.1 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark de Kirby 3.6.1.1 PHP 7.3 : Non supporté 🚫
  • Résultats du benchmark Kirby 3.6.1.1 PHP 7.4 : 3326.72 req/sec
  • Résultats du benchmark Kirby 3.6.1.1 PHP 8.0 : 3514.96 req/sec 🏆
  • Résultats du benchmark Kirby 3.6.1.1 PHP 8.1 : 3922.77 req/sec 🏆

PHP 8.1 a fait mouche avec les benchmarks de Kirby. Il est également intéressant de noter que Kirby a traité le plus grand nombre de requêtes par seconde parmi toutes les plateformes PHP que nous avons testées. Même s’il s’agit d’une comparaison entre des pommes et des oranges, c’est tout de même quelque chose d’honorable. Son principal inconvénient est qu’il n’est pas libre d’utilisation.

Flarum 1.2.0

Flarum est un logiciel de forum gratuit et open source pour les discussions en ligne.

Flarum Logo

Vous pouvez installer Flarum avec un site de démonstration. Nous avons également ajouté trois fils de discussion avec quelques paragraphes de texte.

La page testée de Flarum.
La page testée de Flarum.
  • URL testée : / (page d’accueil)
  • Thème : Thème par défaut
  • Notes : La page testée est la page d’accueil du forum avec un en-tête, un logo, un widget de recherche, un bloc de texte mis en avant, un menu de navigation, des icônes de notification, un menu latéral, une liste de fils de discussion, d’autres widgets et un pied de page. La dernière version de Flarum ne supporte pas encore PHP 8.1, nous n’avons donc pas pu l’évaluer.
  • Source de l’image : Site officiel de Flarum
Benchmarks PHP Flarum 1.2.0.
Benchmarks PHP Flarum 1.2.0.

Résultats de l’évaluation comparative

  • Résultats de l’évaluation comparative de Flarum 1.2.0 PHP 7.2 : Non supporté 🚫
  • Résultats du benchmark Flarum 1.2.0 PHP 7.3 : 120,21 req/sec
  • Résultats du benchmark Flarum 1.2.0 PHP 7.4 : 122.06 req/sec 🏆
  • Résultats du benchmark Flarum 1.2.0 PHP 8.0 : 119.67 req/sec
  • Résultats de l’évaluation comparative de Flarum 1.2.0 PHP 8.1 : Non supporté 🚫

Flarum est un nouveau venu dans nos benchmarks PHP. Comme il s’agit d’un logiciel de forum PHP populaire, nous étions impatients de le tester et de voir comment il se comporte. Alors que PHP 7.4 a donné les meilleurs résultats avec Flarum, les résultats sont presque les mêmes sur toutes les autres versions de PHP que nous avons évaluées.

Mise à jour vers PHP 8.1 chez Kinsta

PHP 8.1 a introduit un grand nombre de fonctionnalités intéressantes. Certaines d’entre elles sont radicales et ne sont pas compatibles avec les versions précédentes de PHP (principalement <PHP 8.0).

Il n’y a aucune raison de ne pas mettre à jour votre site vers PHP 8.1 si toutes les fonctionnalités de votre site fonctionnent bien avec cette version. Si les résultats ci-dessus ne vous convainquent pas encore, nous ne savons pas ce qui le fera !

À titre de rappel amical, tous les clients de Kinsta peuvent utiliser PHP 8.0, 8.1, 8.2 avec notre configuration personnalisée de base de données auto-réparatrice.

Kinsta prend en charge PHP 8.0 et 8.1
Kinsta prend en charge PHP 8.0 et 8.1.

Et si vous craignez de casser votre site en raison d’incompatibilités avec une extension tierce (ce qui peut arriver), nous disposons de sites de staging 👍

Vous pouvez utiliser notre fonctionnalité de sites de staging pour tester à l’infini sans craindre de casser votre site de production. Une fois que vous êtes sûr que tout fonctionne parfaitement, vous pouvez pousser les changements en ligne en appuyant sur un bouton.

À retenir des résultats de l’évaluation comparative de PHP

Les benchmarks PHP compilés
Les benchmarks PHP compilés.

D’après les résultats du benchmark ci-dessus, vous pouvez voir que PHP 8.1 est en tête du peloton dans la plupart des plateformes et configurations PHP, suivi de près par PHP 8.0.

Voici ce que nous avons retenu des résultats du benchmark PHP 2022 :

  • Pour WordPress, PHP 8.1 était le plus rapide dans tous les benchmarks (WordPress 5.6 et WooCommerce). Easy Digital Downloads ne prend pas encore en charge PHP 8.1, mais nous pouvons nous attendre à des améliorations de performances similaires.
  • Si vous utilisez WordPress, et que tous vos thèmes et extensions sont compatibles avec PHP 8.1, il n’y a aucune raison de ne pas mettre à jour votre version de PHP à PHP 8.1. Vous apprécierez les avantages en termes de performances qu’elle apporte.
  • PHP 8.0 était le plus rapide avec le framework Laravel, le framework PHP le plus populaire pour la création d’applications web. Laravel 9 n’était pas encore disponible au moment de l’évaluation. Nous l’utiliserons dans nos prochains benchmarks.
  • Si l’une des extensions ou un des thèmes que vous utilisez n’est pas encore compatible avec PHP 8.0, sans parler de PHP 8.1, nous vous suggérons de prendre contact avec ses développeurs pour le leur faire savoir.
  • La prise en charge de PHP 7.4 se terminant bientôt, à la fin de l’année 2022, vous devez planifier la migration de vos sites vers PHP 8.0 et plus dès que possible.
  • PHP 8.0 annonce une nouvelle ère pour PHP, tout comme PHP 7.0 l’a été lorsque PHP 5.6 régnait en maître. PHP 8.1 a considérablement fait progresser les choses. Nous nous attendons à ce que les versions ultérieures de PHP 8.x soient encore optimisées en termes de performances et de sécurité.
  • Nous n’avons pas testé PHP 8.x avec JIT activé. Bien que le nouveau compilateur JIT de PHP n’apporte pas d’avantages significatifs en termes de performances pour les applications réelles telles que WordPress, il sera intéressant de voir comment cela se passe en utilisation réelle.
  • Repensez votre fournisseur d’hébergement s’il ne suit pas les nouvelles versions de PHP.
  • Comme indiqué précédemment, veuillez tester votre site de manière approfondie avant de mettre à jour l’environnement de votre serveur Web vers PHP 8.0 et PHP 8.1.
  • Outre la mise à niveau vers la dernière version de PHP, les utilisateurs de WordPress peuvent accélérer leurs sites grâce à d’autres techniques d’amélioration des performances web. Nous les avons toutes compilées dans notre guide ultime sur la façon d’accélérer votre site WordPress.

C’était un plaisir de comparer les différentes plateformes PHP. Nous sommes très enthousiastes à propos de PHP 8.1. Nous espérons que vous l’êtes aussi !

Si vous avez des idées concernant nos benchmarks ou vos expériences de mise à niveau des versions de PHP, nous aimerions les entendre. Envoyez-les dans les commentaires ci-dessous !