Mercredi, la version 5.1.3 de PHP était rendue public. Malheuresement, cette nouvelle version semble poser quelques problèmes critiques. En attendant d'en savoir plus, il est donc recommandé d'attendre une probable version 5.1.4

Le problème le plus critique semble impacter la bonne gestion du tableau superglobal $_POST.

Par exemple si vous testez le code suivant :

<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
<html>
<head>
<title>Preuve de concept : reproductible</title>
</head>
<body>
<form method="post" action="" enctype="multipart/form-data">

<input type="text" name="tableau[1]" value="foo1"/><br/>
<input type="text" name="tableau[2]" value="foo2"/><br/>

<input type="text" name="tableau___[1]" value="foo1"/><br/>
<input type="text" name="tableau___[2]" value="foo2"/><br/>

<input type="text" name="tableau_____[1]" value="foo1"/><br/>
<input type="text" name="tableau_____[2]" value="foo2"/><br/>

<input type="submit"/>
</form>
</body>
</html>
Vous avez toutes les chances d'obtenir ceci après soumission du formulaire :
Array
(
    [tableau] => Array
        (
            [1] => foo1
            [2] => foo2
        )

    [tableau___] => Array
        (
            [1] => foo1
            [2] => foo2
        )

    [tableau_____] => Array
        (
            [1] => foo1
            [2] => Array
                (
                    [__[1] => foo2
                )

        )

)
Intriguant et surtout peu cohérent :) J'ai multiplié les tests en jouant sur le nom de la variable que je passais en POST, et les résultats sont parfois ... surprenants.

D'autres problèmes (en particulier concernant 2IS et FastCGI) ont également été rapportés.

Détail curieux, si la page d'accueil du site officiel de PHP ne fait plus référence à la publication de PHP 5.1.3, la section download persiste à proposer cette version en téléchargement.

A suivre...mais en l'état, il semble préférable et plus sage de rester sur une version antérieure.