IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Nouvelle version de PHP 5.3.6 et l'abandon du support de la branche 5.2


Sujet :

Langage PHP

  1. #1
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut Nouvelle version de PHP 5.3.6 et l'abandon du support de la branche 5.2
    EDIT : 19/08/2011

    L'équipe de développement de PHP vient d'annoncer la sortie de la version 5.3.7.


    Cette nouvelle version renforce la stabilité au langage et apporte plusieurs améliorations et corrections liés sur la sécurité avec plus de 90 correctifs dont
    - la correction liée à une vulnérabilité (bugs #54939) de la superglobale $_FILE['filename'] pouvant être victime d'une injection,
    - l'ajout d'une nouvelle constate PHP_MANDIR indiquant l'emplacement des manpages windows
    - L'ajout d'un troisième argument pour les fonctions filter_var_array() et filter_input_array() permettant la désactivation des de l'addition éléments vides
    - Les versions embarqués des bibliothèques sqlite3 et PCRE et ont été mis à niveau sur les versions 3.7.7.1 et 8.12 respectivement
    - et plein d'autres qui vous pouvez trouver dans le changelog.

    Les utilisateurs Windows devront se rappeler que les binaires VC6 n'étant plus disponible, ils devront recourir aux exécutables Apache fournis par Apache Lounge pour utiliser le SAPI Apache.

    _________________________________________________________________

    EDIT : 19/03/2011
    Nouvelle version de PHP 5.3.6 et l'abandon du support de la branche 5.2

    Depuis ce Jeudi, l'équipe de développement de PHP a annoncé la sortie de la version 5.3.6.

    Cette version apporte plus de 60 correctifs et certains ajouts dont :

    • Correction d'une vulnérabilité dans les archives PHP aka Phar
    • un overflow sur les entiers avec la fonction shmop_read
    • Correction d'un crash sur certains tags EXIF
    • Correction d'un défaut de segment sur les archives vides avec ZipArchive
    • Correction des fonctions isset et empty qui produisaient des erreurs d'exécution non fondés
    • Correction d'une régression introduite dans la version 5.3.4 dans la fonction open_basedir
    • Mise à jour de Sqlite 3 vers la version 3.7.4
    • Mise à jour de la librairie PCRE vers la version 8.11
    • Ajout de la possibilité de connexion au protocole HTTPS via proxy avec une authentification basique en utilisant stream_context et l'entête HTTP Proxy-Authorization
    • Ajout des options supplémentaires à la fonction debug_backtrace


    Tous les changements pour cette version sont disponibles dans le changelog.

    Cependant cette sortie annonce également l'abandon du support de la branche 5.2, les utilisateurs de windows devront se contenter des exécutables compilés avec Visual C++ 9 car l'équipe de développement a mit fin avec la compilation des binaires sous VC 6.

    _________________________________________________________________

    EDIT : 07/01/2010
    Nouvelles versions de PHP : 5.3.5 et 5.2.17
    Suite à la découverte d'un bug majeur permettant les attaques par Déni de Service, PHP vient de sortir une version corrigeant ce bug. Tous les utilisateurs sont vivement invités à migrer leurs serveurs PHP vers ces nouvelles versions. Pour tester si votre système est sensible à ce bug, PHP.net propose le script de test suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    /*
      +----------------------------------------------------------------------+
      | PHP Version 5                                                        |
      +----------------------------------------------------------------------+
      | Copyright (c) 2011 The PHP Group                                     |
      +----------------------------------------------------------------------+
      | This source file is subject to version 3.01 of the PHP license,      |
      | that is bundled with this package in the file LICENSE, and is        |
      | available through the world-wide-web at the following url:           |
      | http://www.php.net/license/3_01.txt                                  |
      | If you did not receive a copy of the PHP license and are unable to   |
      | obtain it through the world-wide-web, please send a note to          |
      | license@php.net so we can mail you a copy immediately.               |
      +----------------------------------------------------------------------+
      | Author: Johannes Schlueter <johannes@php.net>                        |
      +----------------------------------------------------------------------+
    */
     
    if (PHP_SAPI != 'cli') {
        die("Please run this test from CLI!\n");
    }
     
    ini_set('display_errors', 1);
    ini_set('output_buffering', 0);
    error_reporting(-1);
    if (!ini_get('safe_mode')) {
        set_time_limit(1);
    }
     
    echo "Testing float behaviour. If this script hangs or terminates with an error ".
         "message due to maximum execution time limit being reached, you should ".
         "update your PHP installation asap!\n";
    echo "For more information refer to <http://bugs.php.net/53632>.\n";
    $d = (double)"2.2250738585072011e-308";
    echo "Your system seems to be safe.\n";
    ?>
    Le principe est simple : si le script s'exécute jusqu'à la fin, votre système est protégé. Il est évidemment recommandé de fermer toutes les applications critiques avant de lancer ce script, histoire d'éviter de tout faire planter si il s'avère que votre système est sensible au bug.

    On notera au passage que, bien que le support de PHP 5.2 soit théoriquement théoriquement, une version de correction est également disponible pour PHP 5.2 pour des raisons sécuritaires.

    _____________________________________________________________
    EDIT du 16/12/2010
    Nouvelle version de PHP 5.2 : 5.2.16
    Moins d'une semaine après la sortie de PHP 5.2.15, sortie d'une nouvelle version de PHP 5.2.
    Le but de cette version est essentiellement de corriger une régression sur la fonction open_basedir, introduite dans la version 5.2.15, ainsi qu'une correction sur PDO::pgsql.

    Celles et ceux qui ont déjà migrés leur serveur vers 5.2.15 et qui utilisent la fonction open_basedir sont très fortement encouragés à mettre en place la nouvelle version 5.2.16 (ou bien sûr à passer à PHP 5.3, étant donné que le support de PHP 5.2 est terminé)

    Nouvelle version de PHP 5.3 : 5.3.4
    Cette version est une version de maintenance et corrige un nombre important de bugs. Notamment :
    • Correction de crash sur l'extraction de zip
    • Correction du comportement de la fonction extract avec l'option EXTR_OVERWRITE
    • Correction d'une faille dans la fonction open_basedir
    • Ajout d'un 3e paramètre à la fonction get_html_translation_table, pour le choix de l'encodage

    La liste complète des changements dans la version 5.3.4

    Nouvelle version de PHP 5.2 : PHP 5.2.15
    Comme indiqué lors de la précédente version, cette version se concentre sur la correction de bugs de sécurité et la stabilité/ Notamment :
    • Correction de crash sur l'extraction de zip
    • Correction du comportement de la fonction extract avec l'option EXTR_OVERWRITE
    • Correction d'une faille dans la fonction open_basedir
    • Correction de la fonction array_diff (l'exécution était 3000 fois plus lente que dans PHP 5.2.4)

    La liste complète des changements dans cette version
    Cette version est la dernière version de PHP 5.2, le support de maintenance étant maintenant terminé. Les utilisateurs de PHP 5.2 sont vivement encouragés à migrer vers PHP 5.3. (guide de migration disponible sur PHP.net )

    ____________________________________________
    Nouvelle Version de PHP 5.2 : PHP 5.2.14
    Cette version met l'accent sur la stabilité et la sécurité, en corrigeant plus de 60bugs. Notamment :
    • Réécriture de var_export, pour empêcher une possible divulgation de données en cas d'erreur
    • Correction d'une possible corruption de mémoire dans substr_replace
    • Correction de possibles pertes de données dans les fonctions strchr(), strstr(), substr(), chunk_split(), strtok(), addcslashes(), str_repeat(), trim().
    • Serialisation de variables de session
    • Mise à jour de la bibliothèque PCRE
    • Mise à jour des données de fuseaux horaires (timezone)

    La liste complète des modifications de PHP 5.2.14

    Cette version est la dernière version supportée pour PHP 5.2. La maintenance active de bugs ne sera plus assurée, seuls des patches de sécurité seront éventuellement appliqués au cas par cas.
    Les utilisateurs de PHP sont vivement encouragés à passer à PHP 5.3. Pour cela PHP.net met à disposition un guide de migration

    Nouvelle version de PHP 5.3 : PHP 5.3.3
    Cette version corrige plus de 100 bugs, dont certains liés à la sécurité. Notamment :
    • Réécriture de var_export, pour empêcher une possible divulgation de données en cas d'erreur
    • Correction de possibles corruptions de mémoire sur un certain nombre de fonction, dont parse_str, substr_replace, addcslashes, ArrayObjet::uasort
    • Correction sur la sérialisation de variables de session
    • Mise à jour de la bibliothèque sqlite
    • Mise à jour de la bibliothèque PCRE
    • Ajout de FastCGI Process Manager (FPM) SAPI
    • Ajout d'un support de filtre de flux dans mcrypt

    La liste complète des modifications de PHP 5.3.3

    Attention, si vous utilisiez déjà PHP 5.3.x, dans un espace de nom, la méthode d'une classe portant le même nom que cette classe ne sera plus considérée comme constructeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    namespace Foo;
    class Bar {
        public function Bar() {
            // traitée comme constructeur de la classe en PHP 5.3.x < 5.3.3
            // traitée comme une méthode en PHP 5.3.3
        }
    }
    ?>
    Ce changement n'affecte pas les classes n'appartenant pas à un espace de nom, ni les migrations depuis PHP 5.2.x (les espaces de noms n'existant que depuis 5.3.0)

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    Citation Envoyé par Celira Voir le message
    • Correction de possibles pertes de donnés dans les fonctions strchr(), strstr(), substr(), chunk_split(), strtok(), addcslashes(), str_repeat(), trim().
    Dans quelle situation pouvait-on rencontrer des pertes de données avec ces fonctions ? Un article existe-t-il recensant ces cas de figure ?

    Merci

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Citation Envoyé par Celira Voir le message
    Ce changement n'affecte pas les classes n'appartenant pas à un espace de nom, ni les migrations depuis PHP 5.2.x (les espaces de noms n'existant que depuis 5.3.0)
    Étrange comme décision

  4. #4
    Membre expert
    Avatar de Chauve souris
    Homme Profil pro
    amateur (éclairé ?)
    Inscrit en
    Novembre 2005
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : Paraguay

    Informations professionnelles :
    Activité : amateur (éclairé ?)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 186
    Points : 3 090
    Points
    3 090
    Par défaut Ont-ils corrigé le gag de localhost ?
    qui n'était plus reconnu dans je ne sais plus quelle (dernière) version. Obligé de tout scanner pour remplacer 'localhost" par '127.0.0.1'

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par Madfrix Voir le message
    Dans quelle situation pouvait-on rencontrer des pertes de données avec ces fonctions ? Un article existe-t-il recensant ces cas de figure ?
    De ce que j'ai cru comprendre, il s'agissait d'une faille qui provoquait la diffusion de données si on forçait l'interruption de la fonction. Le terme original est "interruption array leak", si quelqu'un a une meilleure traduction/explication, je suis preneuse.

    Citation Envoyé par Seb33300 Voir le message
    Ce changement n'affecte pas les classes n'appartenant pas à un espace de nom, ni les migrations depuis PHP 5.2.x (les espaces de noms n'existant que depuis 5.3.0)
    Étrange comme décision
    On peut considérer ça comme une progression logique :
    en PHP < 5, le constructeur était la méthode nommée comme la classe.
    En PHP 5, jusqu'à 5.2, le constructeur était la méthode __construct (ou à défaut la méthode portant le nom de la classe)
    En PHP 5.3, on ajoute les espaces de noms : les classe codées sans espace de noms suivent le fonctionnement de PHP 5.2, donc on leur laisse le fonctionnement d'origine et on continue à faire évoluer les classes espace-nommées.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 17
    Points : 24
    Points
    24
    Par défaut
    Attention, la version 5.2.14 pose un probleme avec l'extension cURL php_curl.dll

    Le chargement de PHP est beaucoup plus lent (2 a 3secondes) en ligne de commande (et je pense aussi en CGI)

    Une solution pour corriger ca serait d'ajouter zlib.dll (v1.2.3) dans le répertoire systeme ou de PHP

    Vous pouvez tester un simple "php -v" pour vous en rendre compte...

    Le bug a été soumis (2 fois) mais fermé

    Attention : Idem avec PHP 5.3.3

  7. #7
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Citation Envoyé par Celira Voir le message
    On peut considérer ça comme une progression logique :
    en PHP < 5, le constructeur était la méthode nommée comme la classe.
    En PHP 5, jusqu'à 5.2, le constructeur était la méthode __construct (ou à défaut la méthode portant le nom de la classe)
    En PHP 5.3, on ajoute les espaces de noms : les classe codées sans espace de noms suivent le fonctionnement de PHP 5.2, donc on leur laisse le fonctionnement d'origine et on continue à faire évoluer les classes espace-nommées.
    Oui. Doit on envisager du coup que les prochaines versions de PHP5 obligent à utiliser __construct tout le temps ?

    Ou peut etre que PHP 6 ça sera du __construct uniquement ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Points : 351
    Points
    351
    Par défaut
    Ça craint un peu ça, le code va perdre en élégance je trouve. C'est assez malpropre ces symboles contenant des __...

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Nouvelle version de PHP 5.2 : PHP 5.2.15
    Comme indiqué lors de la précédente version, cette version se concentre sur la correction de bugs de sécurité et la stabilité/ Notamment :
    • Correction de crash sur l'extraction de zip
    • Correction du comportement de la fonction extract avec l'option EXTR_OVERWRITE
    • Correction d'une faille dans la fonction open_basedir
    • Correction de la fonction array_diff (l'exécution était 3000 fois plus lente que dans PHP 5.2.4)

    La liste complète des changements dans cette version
    Cette version est la dernière version de PHP 5.2, le support de maintenance étant maintenant terminé. Les utilisateurs de PHP 5.2 sont vivement encouragés à migrer vers PHP 5.3. (guide de migration disponible sur PHP.net )

    Nouvelle version de PHP 5.3 : 5.3.4
    Cette version est une version de maintenance et corrige un nombre important de bugs. Notamment :
    • Correction de crash sur l'extraction de zip
    • Correction du comportement de la fonction extract avec l'option EXTR_OVERWRITE
    • Correction d'une faille dans la fonction open_basedir
    • Ajout d'un 3e paramètre à la fonction get_html_translation_table, pour le choix de l'encodage

    La liste complète des changements dans la version 5.3.4

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Nouvelle version de PHP 5.2 : 5.2.16
    Moins d'une semaine après la sortie de PHP 5.2.15, sortie d'une nouvelle version de PHP 5.2.
    Le but de cette version est essentiellement de corriger une régression sur la fonction open_basedir, introduite dans la version 5.2.15, ainsi qu'une correction sur PDO::pgsql.

    Celles et ceux qui ont déjà migrés leur serveur vers 5.2.15 et qui utilisent la fonction open_basedir sont très fortement encouragés à mettre en place la nouvelle version 5.2.16 (ou bien sûr à passer à PHP 5.3, étant donné que le support de PHP 5.2 est terminé)

  11. #11
    Membre actif Avatar de ratomms
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2009
    Messages : 163
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Celira Voir le message

    Attention, si vous utilisiez déjà PHP 5.3.x, dans un espace de nom, la méthode d'une classe portant le même nom que cette classe ne sera plus considérée comme constructeur.
    Où est le concept d'OOP alors?

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Lorsque tu définis ta classe en PHP 5.2+, le constructeur s'appelle __construct (on parle là de la méthode appelée lors de l'instanciation d'un objet, autrement dit un new MonObjet())
    On a bien le concept objet, avec le constructeur, les méthodes, les attributs et tout, juste le constructeur ne porte pas le nom de la classe...

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    l'arrivé de la 5.2.16, c'est surtout l'arrêt du support de la branche 5.2.

  14. #14
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Quelqu'un sait il quand va arriver PHP 5.3 en stable dans Debian via les paquets ?
    Ou combien de temps ça prend en moyenne. ça fait déjà un bn moment que php 5.3 est arrivé et il n'est toujours pas la :/

  15. #15
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Nouvelles versions de PHP : 5.3.5 et 5.2.17
    Suite à la découverte d'un bug majeur permettant les attaques par Déni de Service, PHP vient de sortir une version corrigeant ce bug. Tous les utilisateurs sont vivement invités à migrer leurs serveurs PHP vers ces nouvelles versions. Pour tester si votre système est sensible à ce bug, PHP.net propose le script de test suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    /*
      +----------------------------------------------------------------------+
      | PHP Version 5                                                        |
      +----------------------------------------------------------------------+
      | Copyright (c) 2011 The PHP Group                                     |
      +----------------------------------------------------------------------+
      | This source file is subject to version 3.01 of the PHP license,      |
      | that is bundled with this package in the file LICENSE, and is        |
      | available through the world-wide-web at the following url:           |
      | http://www.php.net/license/3_01.txt                                  |
      | If you did not receive a copy of the PHP license and are unable to   |
      | obtain it through the world-wide-web, please send a note to          |
      | license@php.net so we can mail you a copy immediately.               |
      +----------------------------------------------------------------------+
      | Author: Johannes Schlueter <johannes@php.net>                        |
      +----------------------------------------------------------------------+
    */
     
    if (PHP_SAPI != 'cli') {
        die("Please run this test from CLI!\n");
    }
     
    ini_set('display_errors', 1);
    ini_set('output_buffering', 0);
    error_reporting(-1);
    if (!ini_get('safe_mode')) {
        set_time_limit(1);
    }
     
    echo "Testing float behaviour. If this script hangs or terminates with an error ".
         "message due to maximum execution time limit being reached, you should ".
         "update your PHP installation asap!\n";
    echo "For more information refer to <http://bugs.php.net/53632>.\n";
    $d = (double)"2.2250738585072011e-308";
    echo "Your system seems to be safe.\n";
    ?>
    Le principe est simple : si le script s'exécute jusqu'à la fin, votre système est protégé. Il est évidemment recommandé de fermer toutes les applications critiques avant de lancer ce script, histoire d'éviter de tout faire planter si il s'avère que votre système est sensible au bug.

    On notera au passage que, bien que le support de PHP 5.2 soit théoriquement théoriquement, une version de correction est également disponible pour PHP 5.2 pour des raisons sécuritaires.

  16. #16
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Après la mise en ligne de nouvelle branche 5.4, voici la première alpha

    au menu :

    http://svn.php.net/repository/php/ph...4_0alpha1/NEWS

    PHP NEWS
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    20 Jun 2011, PHP 5.4.0 Alpha 1
    - autoconf 2.59+ is now supported (and required) for generating the
    configure script with ./buildconf. Autoconf 2.60+ is desirable
    otherwise the configure help order may be incorrect. (Rasmus, Chris Jones)

    - Removed legacy features:
    . break/continue $var syntax. (Dmitry)
    . Safe mode and all related ini options. (Kalle)
    . register_globals and register_long_arrays ini options. (Kalle)
    . import_request_variables(). (Kalle)
    . allow_call_time_pass_reference. (Pierrick)
    . define_syslog_variables ini option and its associated function. (Kalle)
    . highlight.bg ini option. (Kalle)
    . Session bug compatibility mode (session.bug_compat42 and
    session.bug_compat_warn ini options). (Kalle)
    . session_is_registered(), session_register() and session_unregister()
    functions. (Kalle)
    . y2k_compliance ini option. (Kalle)

    - Moved extensions to PECL: (Johannes)
    . ext/sqlite.

    - Changed $_SERVER['REQUEST_TIME'] to include microsecond precision. (Ilia)
    - Changed default value of "default_charset" php.ini option from ISO-8859-1 to
    UTF-8. (Rasmus)
    - Changed array_combine() to return empty array instead of FALSE when both
    parameter arrays are empty. FR #34857. (joel.perras@gmail.com)
    - Changed third parameter of preg_match_all() to optional. FR #53238. (Adam)
    - Changed silent casting of null/''/false into an Object when adding
    a property into a warning. (Scott)
    - <?= is now always available regardless of the short_tags setting (Rasmus)

    - General improvements:
    . Added multibyte support by default. Previously php had to be compiled
    with --enable-zend-multibyte. Now it can be enabled or disabled through
    zend.multibyte directive in php.ini. (Dmitry)
    . Removed compile time dependency from ext/mbstring (Dmitry)
    . Added support for Traits. (Stefan)
    . Added closure $this support back. (Stas)
    . Added array dereferencing support. (Felipe)
    . Added indirect method call through array. FR #47160. (Felipe)
    . Added support for object references in recursive serialize() calls.
    FR #36424. (Mike)
    . Added http_response_code() function. FR #52555. (Paul Dragoonis, Kalle)
    . Added header_register_callback() which is invoked immediately
    prior to the sending of headers and after default headers have
    been added. (Scott)
    . Added DTrace support. (David Soria Parra)
    . Improved output layer, see README.NEW-OUTPUT-API for internals. (Mike)
    . Improved unserialize() performance.
    (galaxy dot mipt at gmail dot com, Kalle)
    . Improved unix build system to allow building multiple PHP binary SAPIs and
    one SAPI module the same time. FR #53271, FR #52410. (Jani)
    . Added optional argument to debug_backtrace() and debug_print_backtrace()
    to limit the amount of stack frames returned. (Sebastian, Patrick)
    . Added stream metadata API support and stream_metadata() stream class
    handler. (Stas)

    - Improved Zend Engine memory usage: (Dmitry)
    . Replaced zend_function.pass_rest_by_reference by
    ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags.
    . Replaced zend_function.return_reference by ZEND_ACC_RETURN_REFERENCE
    in zend_function.fn_flags.
    . Removed zend_arg_info.required_num_args as it was only needed for internal
    functions. Now the first arg_info for internal functions (which has special
    meaning) is represented by zend_internal_function_info structure.
    . Moved zend_op_array.size, size_var, size_literal, current_brk_cont,
    backpatch_count into CG(context) as they are used only during compilation.
    . Moved zend_op_array.start_op into EG(start_op) as it's used only for
    'interactive' execution of single top-level op-array.
    . Replaced zend_op_array.done_pass_two by ZEND_ACC_DONE_PASS_TWO in
    zend_op_array.fn_flags.
    . op_array.vars array is trimmed (reallocated) during pass_two.
    . Replaced zend_class_entry.constants_updated by ZEND_ACC_CONSTANTS_UPDATED
    in zend_class_entry.ce_flags.
    . Reduced the size of zend_class_entry by sharing the same memory space
    by different information for internal and user classes.
    See zend_class_entry.info union.
    . Reduced size of temp_variable.

    - Changed the structure of op_array.opcodes. The constant values are moved from
    opcode operands into a separate literal table. (Dmitry)

    - Improved Zend Engine, performance tweaks and optimizations: (Dmitry)
    . Inlined most probable code-paths for arithmetic operations directly into
    executor.
    . Eliminated unnecessary iterations during request startup/shutdown.
    . Changed $GLOBALS into a JIT autoglobal, so it's initialized only if used.
    (this may affect opcode caches!)
    . Improved performance of @ (silence) operator.
    . Simplified string offset reading. $str[1][0] is now a legal construct.
    . Added caches to eliminate repeatable run-time bindings of functions,
    classes, constants, methods and properties.
    . Added concept of interned strings. All strings constants known at compile
    time are allocated in a single copy and never changed.
    . Added an optimization which saves memory and emalloc/efree calls for empty
    HashTables. (Stas, Dmitry)
    . ZEND_RECV now always has IS_CV as its result.
    . ZEND_CATCH now has to be used only with constant class names.
    . ZEND_FETCH_DIM_? may fetch array and dimension operands in different order.
    . Simplified ZEND_FETCH_*_R operations. They can't be used with the
    EXT_TYPE_UNUSED flag any more. This is a very rare and useless case.
    ZEND_FREE might be required after them instead.
    . Split ZEND_RETURN into two new instructions ZEND_RETURN and
    ZEND_RETURN_BY_REF.
    . Optimized access to global constants using values with pre-calculated
    hash_values from the literals table.
    . Optimized access to static properties using executor specialization.
    A constant class name may be used as a direct operand of ZEND_FETCH_*
    instruction without previous ZEND_FETCH_CLASS.
    . zend_stack and zend_ptr_stack allocation is delayed until actual usage.

    - Improved CLI SAPI: (Johannes)
    . Added command line option --rz <name> which shows information of the
    named Zend extension.
    . Interactive readline shell improvements:
    . Added "cli.pager" php.ini setting to set a pager for output.
    . Added "cli.prompt" php.ini setting to configure the shell prompt.
    . Added shortcut #inisetting=value to change ini settings at run-time.
    . Changed shell not to terminate on fatal errors.
    . Interactive shell works with shared readline extension. FR #53878.

    - Improved FastCGI SAPI: (Dmitry)
    . Added apache compatible functions: apache_child_terminate(),
    getallheaders(), apache_request_headers() and apache_response_headers()
    . Improved performance of FastCGI request parsing.

    - Improved core functions:
    . number_format() no longer truncates multibyte decimal points and thousand
    separators to the first byte. FR #53457. (Adam)
    . Added hex2bin() function. (Scott)

    - Improved CURL extension:
    . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and
    CURLOPT_MAX_SEND_SPEED_LARGE. FR #51815. (Pierrick)

    - Improved Date extension:
    . Added the + modifier to parseFromFormat to allow trailing text in the
    string to parse without throwing an error. (Stas, Derick)

    - Improved DBA extension:
    . Added Tokyo Cabinet abstract DB support. (Michael Maclean)
    . Added Berkeley DB 5 support. (Johannes, Chris Jones)

    - Improved filesystem functions:
    . scandir() now accepts SCANDIR_SORT_NONE as a possible sorting_order value.
    FR #53407. (Adam)

    - Improved HASH extension:
    . Added Jenkins's one-at-a-time hash support. (Martin Jansen)
    . Added FNV-1 hash support. (Michael Maclean)
    . Made Adler32 algorithm faster. FR #53213. (zavasek at yandex dot ru)

    - Improved intl extension:
    . Added Spoofchecker, allows checking for visibly confusable characters and
    other security issues. (Scott)

    - Improved JSON extension:
    . Added JsonSerializable interface. (Sara)
    . Added JSON_BIGINT_AS_STRING, extended json_decode() sig with $options.
    (Sara)
    . Added support for JSON_NUMERIC_CHECK option in json_encode() that converts
    numeric strings to integers. (Ilia)
    . Added new json_encode() option JSON_PRETTY_PRINT. FR #44331. (Adam)
    . Added new json_encode() option JSON_UNESCAPED_SLASHES. FR #49366. (Adam)

    - Improved LDAP extension:
    . Added paged results support. FR #42060. (ando@OpenLDAP.org,
    iarenuno@eteo.mondragon.edu, jeanseb@au-fil-du.net, remy.saissy@gmail.com)

    - Improved MySQL extensions:
    . MySQL: Deprecated mysql_list_dbs(). FR #50667. (Andrey)
    . mysqlnd: Added named pipes support. FR #48082. (Andrey)
    . MySQLi: Added iterator support in MySQLi. mysqli_result implements
    Traversable. (Andrey, Johannes)
    . PDO_mysql: Removed support for linking with MySQL client libraries older
    than 4.1. (Johannes)

    - Improved OpenSSL extension:
    . Added AES support. FR #48632. (yonas dot y at gmail dot com, Pierre)
    . Added a "no_ticket" SSL context option to disable the SessionTicket TLS
    extension. FR #53447. (Adam)
    . Added no padding option to openssl_encrypt()/openssl_decrypt(). (Scott)

    - Improved PDO DB-LIB: (Stanley)
    . Added nextRowset support.
    . Fixed bug #50755 (PDO DBLIB Fails with OOM).

    - Improved PostgreSQL extension:
    . Added support for "extra" parameter for PGNotify().
    (r dot i dot k at free dot fr, Ilia)

    - Improved Reflection extension: (Johannes)
    . Added ReflectionExtension::isTemporary() and
    ReflectionExtension::isPersistent() methods.
    . Added ReflectionZendExtension class.
    . Added ReflectionClass::isCloneable(). (Felipe)

    - Improved Session extension:
    . Added support for storing upload progress feedback in session data. (Arnaud)
    . Changed session.entropy_file to default to /dev/urandom or /dev/arandom if
    either is present at compile time. (Rasmus)

    - Improved SPL extension:
    . Added RegexIterator::getRegex() method. (Joshua Thijssen)
    . Added SplObjectStorage::getHash() hook. (Etienne)
    . Added SplFileInfo::getExtension(). FR #48767. (Peter Cowburn)
    . Added CallbackFilterIterator and RecursiveCallbackFilterIterator. (Arnaud)

    - Improved ZLIB extension:
    . Re-implemented non-file related functionality. (Mike)

    - Improved SNMP extension (Boris Lytochkin):
    . Added OO API. FR #53594 (php-snmp rewrite).
    . Sanitized return values of existing functions. Now it returns FALSE on
    failure.
    . Allow ~infinite OIDs in GET/GETNEXT/SET queries. Autochunk them to max_oids
    upon request.
    . Introducing unit tests for extension with ~full coverage.
    . Fixed bugs
    . #44193 (snmp v3 noAuthNoPriv doesn't work)
    . #45893 (Snmp buffer limited to 2048 char)
    . #46065 (snmp_set_quick_print() persists between requests)
    . #51336 (snmprealwalk (snmp v1) does not handle end of OID tree correctly)
    . #53862 (snmp_set_oid_output_format does not allow returning to default)

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Nouveau site en cours pour php.net :

    http://prototype.php.net

  18. #18
    Membre éclairé Avatar de Code62
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Points : 898
    Points
    898
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    Nouveau site en cours pour php.net :

    http://prototype.php.net
    ouais, j'ai vu ça y'a quelques jours, et j'ai pleuré

    en dehors du menu "documentation" qui fait peur quand on clique, je n'arrive pas à croire qu'ils aient remplacé le bleu historique par cet espece de mauve-rose...

  19. #19
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    L'équipe de développement de PHP vient d'annoncer la sortie de la version 5.3.7.

    Cette nouvelle version renforce la stabilité au langage et apporte plusieurs améliorations et corrections liés sur la sécurité avec plus de 90 correctifs dont
    - la correction liée à une vulnérabilité (bugs #54939) de la superglobale $_FILE['filename'] pouvant être victime d'une injection,
    - l'ajout d'une nouvelle constate PHP_MANDIR indiquant l'emplacement des manpages windows
    - L'ajout d'un troisième argument pour les fonctions filter_var_array() et filter_input_array() permettant la désactivation des de l'addition éléments vides
    - Les versions embarqués des bibliothèques sqlite3 et PCRE et ont été mis à niveau sur les versions 3.7.7.1 et 8.12 respectivement
    - et plein d'autres qui vous pouvez trouver dans le changelog.

    Les utilisateurs Windows devront se rappeler que les binaires VC6 n'étant plus disponible, ils devront recourir aux exécutables Apache fournis par Apache Lounge pour utiliser le SAPI Apache.

  20. #20
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    à noter également que le support de la version 5.2 de PHP n'est plus d'actualité.

Discussions similaires

  1. Problème critique sur la nouvelle version PHP
    Par Thes32 dans le forum Langage
    Réponses: 0
    Dernier message: 22/08/2011, 13h52
  2. PHP 5.3.2 et nouvelle version de Php.INI
    Par ETVigan dans le forum Langage
    Réponses: 2
    Dernier message: 05/04/2010, 19h54
  3. Installer la nouvelle version php
    Par Marc22 dans le forum Langage
    Réponses: 4
    Dernier message: 19/08/2008, 16h08
  4. Nouvelle version de MySql
    Par syannic dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 17/03/2003, 18h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo