AccuWebHosting présente l'hébergement PHP 7

Publié: 2015-12-07

AccuWebHosting présente l'hébergement PHP 7

L'équipe de développement PHP a mis fin à la longue attente de WebMaster en annonçant la disponibilité immédiate de PHP 7. PHP 7, la prochaine version du langage de script le plus populaire au monde (alimentant 81 % du Web) est enfin sortie le 3 décembre 2015.

Après huit ans et des semaines de retard dans le déploiement, PHP 7 est enfin disponible en téléchargement. Les utilisateurs Windows peuvent télécharger les binaires Windows PHP 7 à partir d'ici. Avec la dernière version de PHP, de nombreux changements ont été introduits, donc PHP 7 n'est certainement pas rétrocompatible avec le code existant de PHP 4, bien qu'il devrait fonctionner de manière transparente avec le code PHP 5.x. Pour vérifier les modifications introduites dans PHP 7, reportez-vous au Changelog.

Principaux avantages de PHP 7

PHP 7 a des modifications de syntaxe minimales et met davantage l'accent sur l'amélioration des performances. Au cours des derniers mois, un certain nombre de benchmarks ont été effectués sur PHP 7 et il a été affirmé que PHP 7 est presque 200 % plus rapide que son prédécesseur (PHP 5.x).

PHP 7 tournera sur le dernier moteur, à savoir PHPNG (PHP Next Generation) , en concurrence avec des interpréteurs comme HHVM de Facebook. HHVM surpasse PHP depuis des années, ce qui a encouragé l'équipe de développeurs PHP 7 à améliorer ses compétences. Grâce à PHPNG, le moteur principal de PHP 7 est désormais plus optimisé pour le processeur et la mémoire.

Sur la base des benchmarks effectués sur PHP 7, le moteur PHPNG réduit de moitié l'utilisation de la mémoire et du processeur par rapport aux dernières versions 5.6.

Nous discutons ici de certaines des nouvelles fonctionnalités les plus intéressantes qui seront disponibles lors de la mise à niveau vers PHP 7.

Nouveaux opérateurs

PHP 7 est livré avec deux nouveaux opérateurs, à savoir le vaisseau spatial (ou opérateur de comparaison combiné) et l'opérateur de coalescence nulle .

L'opérateur de vaisseau spatial ( <=> ) est utilisé pour rendre votre comparaison enchaînée plus concise. Par exemple:

 $var1 <=> $var2

Cette expression est évaluée comme :

 -1 si $var1 est inférieur à $var2,
0 si $var1 est égal à $var2, et
1 si $var1 est supérieur à $var2,

qui est essentiellement un raccourci pour l'expression suivante :

 ($var1 < $var2) ? -1 : (($var1 > $var2) ? 1 : 0)

L'opérateur de fusion nul ( ?? ) peut être utilisé comme raccourci pour un cas d'utilisation courant. Par exemple, avec PHP 5.x, vous feriez quelque chose comme ceci :

 $var1 = isset($var2) ? $var2 : "par défaut" ;

La même expression peut être écrite avec l'opérateur null coalesce en PHP 7 comme suit :

 $var1 = $var2 ?? "défaut";

Conseils de type scalaire

Scalar Type Hints est l'une des fonctionnalités les plus frappantes de la dernière version de PHP. Vous pouvez utiliser des entiers, des flottants, des chaînes et des booléens comme indications de type pour les fonctions et les méthodes. En d'autres termes, lorsque vous transmettez une valeur flottante à un paramètre entier, les conseils de type scalaire le contraindront simplement à un entier sans générer d'erreurs ni d'avertissements. Cependant, lorsque le mode strict est activé, il génère des erreurs lorsque le mauvais type est passé en argument.

 <?php
fonction double(int $valeur)
{
renvoie 2 * $valeur ;
}
$var = double("8");
var_dump($var);

Le code ci-dessus ne générera aucune erreur lorsque le mode strict est désactivé. De plus, la chaîne "8" passée en argument sera convertie en nombre entier à l'intérieur de la fonction double. Si nous activons le mode strict en incluant la directive declare(strict_types = 1) dans la toute première ligne du code ci-dessus, seuls les entiers pourront être transmis à la fonction double.

 < ?php
déclarer(strict_types = 1);
fonction double(int $valeur)
{
   renvoie 2 * $valeur ;
}
$var = double("8");
var_dump($var);

Lorsque le mode strict est activé, le code ci-dessus génère une erreur fatale.

Conseils sur le type de retour

Les conseils de type de retour vous permettent de définir le type de retour des méthodes et des fonctions. Il se comporte de la même manière que les indications de type scalaire en termes de coercition et de mode strict :

 < ?php
fonction a() : bool
{
retour 1 ;
}
var_dump(a());

Lorsque le code ci-dessus est exécuté, la valeur renvoyée sera automatiquement convertie en booléen sans aucune erreur ni avertissement. Lorsque le mode strict est activé, une erreur fatale est renvoyée.

HHVM contre PHP 7

HHVM est la machine virtuelle créée par les développeurs de Facebook pour exécuter des applications PHP. En 2008, l'équipe Facebook a développé un outil pour convertir le script PHP en C++ afin qu'il puisse être compilé et exécuté sur des serveurs Web. L'objectif principal était de réduire l'utilisation des ressources du serveur et de gérer cinq à six fois plus de trafic que la capacité réelle du serveur. Afin de surmonter ces défis, Facebook a développé la machine virtuelle HipHop (HHVM). Ce changement a augmenté la capacité du serveur pour s'adapter à une augmentation de 500 à 600 % du trafic Web.

À ce stade, vous pouvez demander : " Qu'est-ce qui rend le HHVM si rapide ? "

Au lieu de compiler le code PHP en C++, HHVM a utilisé la compilation Just-In-Time (JIT) pour convertir le code PHP en bytecode intermédiaire. Ce bytecode est ensuite traduit en code machine x64. Maintenant, le compilateur JIT entre en jeu, exécutant dynamiquement la traduction au moment de l'exécution, permettant toutes les optimisations possibles. En conséquence, les performances de vos applications PHP seront considérablement augmentées.

PHP 7 ou PHPNG est le véritable concurrent et la réponse de la communauté à HipHop Virtual Machine. HHVM a clairement surpassé les versions précédentes de PHP, mais des tests de référence récents suggèrent que PHP 7 est légèrement plus rapide que HHVM dans certaines situations. Jetons un coup d'œil aux résultats de certains tests de référence menés par ZEND sur certaines applications populaires, telles que WordPress, Magento et Drupal :

Magento HHVM 3.7 contre PHP 7

Déduit du tableau ci-dessous, vous pouvez faire jusqu'à 3 fois plus de requêtes serveur de catalogue Magento sur le même matériel et PHP 7 utilise 30% de mémoire en moins.

Comparaison Magento-HHVM-Vs-PHP7

Comparaison entre Magento HHVM et PHP 7

 Source : www.zend.com

WordPress HHVM 3.7 contre PHP 7

Selon les résultats présentés, il n'y a pas beaucoup de différence entre HHVM 3.7 et PHP 7. Le fait le plus intéressant est que PHP 7 n'a utilisé que 25 % des exécutions de serveur par rapport à celles de PHP 5.6. Ainsi, des serveurs de même capacité pourront servir un plus grand nombre d'utilisateurs.

Comparaison entre WordPress HHVM 3.7 et PHP-7

Comparaison entre WordPress HHVM 3.7 et PHP 7

 Source : www.zend.com

Drupal HHVM 3.7 contre PHP 7

Le graphique indique que PHP 7 est nettement plus rapide que HVVM et, fait intéressant, Drupal 8 s'exécute 72 % plus rapidement sur PHP 7 par rapport à PHP 5.6.

Comparaison Drupal HHVM vs PHP7

Comparatif Drupal HHVM vs PHP 7

 Source : www.zend.com

Autres repères

Vous pouvez également vous référer aux benchmarks effectués par Rasmus Lerdorf de PHP Australie. Utilisez les touches fléchées pour naviguer dans les diapositives.

Avec quoi dois-je partir ?

Avant PHP 7 ou PHPNG, HHVM est certainement plus rapide que les packages PHP-Zend pour toutes les versions de PHP. PHP 7 a démontré de meilleures performances par rapport à HHVM pour la majorité des scripts dans la plupart des benchmarks.

De grands sites Web comme Etsy et Wikimedia Foundation utilisent HHVM, mais il a fallu plus de six mois pour passer complètement du package PHP-Zend au package PHP-HHVM. En d'autres termes, passer du package PHP-Zend au package PHP-HHVM n'est pas une tâche du jour au lendemain. Pour les petits propriétaires de sites Web, la transition vers PHP 7 serait beaucoup plus facile, par rapport à la transition complexe vers HHVM, qui nécessite plus d'expertise.

Hébergement PHP 7 par AccuWebHosting

Il n'est pas surprenant qu'AccuWebHosting soit l'un des premiers hébergeurs Web à proposer l'hébergement PHP 7. Notre équipe de test enthousiaste attendait depuis longtemps la dernière version de PHP. Dès le lendemain de la sortie de PHP 7, l'équipe en a profité pour tester PHP 7 sur notre infrastructure d'hébergement web.

Nous sommes fiers d'offrir la prise en charge de PHP 7 sur les plans d'hébergement SSD partagé Linux et d'hébergement WordPress.

AccuWebHosting fournit un plug-in de configuration PHP sur les plans Linux Shared/Reseller, permettant aux clients de définir la version PHP 7 pour les répertoires et les domaines. Nos clients Linux Shared SSD Hosting et WordPress Hosting peuvent utiliser les articles suivants pour passer de leur ancienne version PHP à la 7 :

Changer la version de PHP à partir de cPanel

Prise en charge de PHP 7 sur un serveur dédié

  1. Avec un serveur dédié à Windows, l'équipe d'AccuWebHosting installera et configurera PHP 7 à la demande.
  2. Actuellement, cPanel/WHM ne prend pas en charge PHP 7, il ne serait donc pas possible d'utiliser PHP 7 dans des serveurs dédiés à cPanel, à moins que le système d'exploitation CloudLinux ne soit utilisé. Une fois que cPanel/WHM commence à prendre en charge PHP 7, il peut être ajouté via WHM EasyApache.
  3. Les clients de serveurs dédiés Linux (sans cPanel) peuvent installer et configurer PHP 7 en fonction de leurs besoins.

Prise en charge de PHP 7 sur Windows VPS

Tous nos plans Windows VPS prennent en charge PHP 7. Les clients Windows VPS devront soumettre un ticket pour installer et configurer PHP 7.

Prise en charge de PHP 7 sur Linux VPS

Les clients Linux VPS (sans cPanel) peuvent installer et configurer PHP 7 selon leurs besoins. Étant donné que cPanel ne prend pas en charge PHP 7, les clients cPanel VPS doivent attendre que cPanel déploie la prise en charge de PHP 7. Une fois que cPanel commence à prendre en charge PHP 7, il peut être ajouté via EasyApache.