Mot-clé - Zend Engine

Fil des billets - Fil des commentaires

samedi 11 janvier 2014

Atoum et HipHopVM

Depuis quelque temps, on me demande régulièrement si je vais rendre atoum compatible avec HipHopVM, car il n’est actuellement pas compatible avec cette alternative au Zend Engine.

Et ma réponse est que je n’ai aucune autre solution que celle consistant à faire les rapports de bugs nécessaires aux développeurs de HipHopVM.

Ce n’est en effet pas le code d’atoum qui pose problème, puisqu’il fonctionne sans aucun soucis avec le moteur standard de PHP (ce qui ne veut pas dire qu’il n’y a pas quelques bugs cachés en son sein malgré les quelque 1600 tests unitaires et les 24 000 assertions qui les traquent sans relâche).

Et si le problème ne vient pas du code d’atoum, c’est donc qu’il vient d’un ou de plusieurs problèmes au sein de celui de HipHopVM.

Lire la suite

mardi 3 avril 2012

Poisson d'avril or not poisson d'avril ?

J'ai publié (à dessein) ce dimanche 1er avril ce billet annonçant que le prochain Zend Engine serait basé sur la JVM suite à des travaux secrets de Zend, et il semble que beaucoup de gens s'interrogent sur sa véracité.

Le projet bianca semble en effet très sérieux, avec un dépôt github ayant un historique significatif et contenant du code correspondant au but du projet, un nom de domaine, un blog, ainsi qu'un communiqué officiel le concernant de la société qui en est à l'origine, Clever Cloud.

Cependant la date de parution qui correspond à un jour ou les canulars pullulent aussi bien virtuellement que réellement ajouté à l'absence du nom de Zend dans le communiqué de presse font que le doute subsiste au sujet de la réalité de bianca.

Il faut dire que le billet amène la chose d'une manière somme toute logique, puisque rien n'empêcherait Zend de développer sa propre solution pour exécuter du code PHP et ainsi répondre à un impératif commercial.

D'ailleurs, le Zend Server en est l'illustration parfaite, puisqu'il met en œuvre une version sur mesure de PHP afin de pouvoir répondre aux besoins des clients de Zend.

Au final, il est donc très difficile pour le lecteur de savoir à quoi s'en tenir réellement de manière certaine.

Alors, bianca, poisson d'avril bien ficelé, ou véritable projet qui marche ?

Lire la suite

dimanche 1 avril 2012

PHP utilisera dorénavant la JVM

Il y a maintenant deux ans, suite à l'arrêt du développement de PHP 6, les développeurs de Zend ont immédiatement commencé à chercher une solution alternative pour intégrer à moyen terme le support d'Unicode dans PHP.

Pour rappel, Zend est la société créée par Zeev Suraski et Andi Gutman, qui sont les concepteurs originels du Zend Engine, le moteur le plus utilisé, et de loin, pour exécuter du code écrit en PHP.

Cependant, malgré cela, Zend, a grand besoin que PHP supporte Unicode nativement, afin de pouvoir obtenir de nouveaux marchés, notamment en Asie et plus particulièrement en Chine.

En effet, le fait que le langage ne supporte pas nativement les différents alphabets et syllabaires de cette région du monde est un gros handicap pour le langage, et Zend a donc du mal à y gagner des parts de marché.

De plus, la société redoute que les chinois, fidèle à leurs habitudes, développent une version de PHP ou pire un nouveau langage qui intégrera nativement le support d'Unicode, ce qui leur fermerait à tout jamais les portes de ce juteux marché.

Il était donc absolument nécessaire pour Zend de trouver une solution efficace pour que PHP soit capable de manipuler nativement et efficacement des chaînes de caractères Unicode.

Lire la suite

mercredi 8 juin 2011

PHP : les nouvelles du front #430

Une nouvelle fois, j'ai du retard dans la rédaction de ce billet.

Il faut dire que le développement de PHP est actuellement dans une période très intense et que je dispose de moins en moins de temps à consacrer à son suivi.

La liste de diffusion des contributeurs, internals@, est la plus directement responsable de cette situation.

Elle était en effet déjà relativement active depuis une vingtaine de jours, mais depuis l'appel au vote de Pierre Joye pour valider la RFC concernant le futur processus de release du langage, sa volumétrie a littéralement explosé, puisqu'un peu moins de 500 messages ont été postées sur les dix derniers jours.

De plus, si les discussions sur internals@ ont toujours été relativement difficiles à suivre de part le manque de modération, depuis quelques jours, c'est carrément l'anarchie.

En effet, il y a souvent plusieurs discussions en parallèle sur le même thème, suite à des dérives dans les débats ainsi que des digressions sans rapport qui génère d'autres fils de discussion, sans parler des échanges d'amabilités entre les contributeurs, les contestations, les trolls, j'en passe et des meilleures.

Je n'ai donc pas le temps d'éplucher tout cela dans le détail, et d'ailleurs, je ne suis même pas convaincu que cela en vaille la peine.

Je vais donc pour une fois être obligé de survoler les débats pour en retirer l'essentiel, en espérant ne pas passer à côté de choses importantes.

Lire la suite

mardi 1 février 2011

À propos du bug 53632 de PHP

Il y a maintenant quelques semaines, Rick Regan a découvert un bug assez méchant dans PHP, qui a reçu l'identifiant #53632 et qui est également connu sous le nom de The PHP strtod() denial of service bug.

En étudiant la façon dont le langage gère les nombres à virgule flottante, et plus particulièrement ceux aux alentours de zéro, il a réussi à faire partir le Zend Engine, le moteur qui propulse PHP, dans une boucle infinie à l'aide d'une simple affectation de variable, de la manière suivante :

<?php $d = 2.2250738585072011e-308; ?>

À l'époque, il était donc tout à fait possible de bloquer un serveur web qui utilise PHP en injectant, via par exemple $_GET, cette fameuse valeur.

Évidemment, suite au rapport de bug, ce dernier été corrigé très rapidement, grâce aux versions 5.2.17 et 5.3.5 du langage, que je ne peux que vous encourager à utiliser si vous n'avez pas encore fait la mise à jour.

Et encore plus évidemment, beaucoup de gens ont encore dit que, décidément, PHP était vraiment un langage de merde conçu par des abrutis et que tout les développeurs du monde devraient arrêter de l'utiliser au profit de vrais langages tel que Python, Ruby ou bien encore Java.

Sauf qu'en l'occurrence, ces gens auraient mieux fait de se taire...

Lire la suite

- page 1 de 3