Page 1 sur 1

Problème php chez free?

Posté : 03 nov. 2010, 12:51
par tthierry
Bonjour,

J'ai mis en ligne un script sur un site hébérgé chez free. Ce script fonctionne parfaitement sur mon mac, avec un serveur php de MAMP. Mais il ne marche pas chez free.

Il utilise le module de cryptage mcrypt.
Chez free, j'obtiens une erreur 500 après un temps d'éxécution anormalement long.
J'ai simplifié le script pour voir si le problème venait du cryptage lui même.
Je ne fais pas d'ouverture de module, pas d'initialisation, seulement création de vecteur et récupération de la taille de la clef de codage.
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_OFB), MCRYPT_DEV_RANDOM);
$ks = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_OFB);

J'obtiens le même problème : exécution anormalement longue, erreur 500.

Or,Pour le module correspondant à la forme de cryptage que j'ai choisie, le test du module avec mcrypt_module_self_test() est positif, ce qui indique que le module est disponible. (RIJNDAEL256, OFB sous php5) D'ailleurs il figure dans la config obtenue avec phpinfo().
Une fois ouvert, le test avec mcrypt_enc_self_test(), qui teste le module ouvert est bon encore.


Donc QUESTION : avez-vous eu de pareils problèmes chez free avec mcrypt? Comment avez-vous pu les résoudre?
Merci pour votre aide.

Re: Problème php chez free?

Posté : 04 nov. 2010, 15:57
par @rthur
Bonjour,

Cela ressemble à un problème spécifique à l'hébergement Free, le mieux serait que tu les contactes directement.
Yohan, le responsable des pages persos de Free est en général assez présent sur les newsgroup proxad.free.services.pagesperso

Re: Problème php chez free?

Posté : 15 nov. 2010, 13:14
par tthierry
Je ne peux pas me connecter aux forums usenet. J'ai tenté de poser ma question sur un forum consacré à free (aduf) mais sans réponse. C'est pourquoi je tente ma chance ici, pour savoir si un autre utilisateur de php a déjà été confronté au même problème chez free, et comment il s'en est tiré?
Merci pour vos réponses.

Re: Problème php chez free?

Posté : 18 nov. 2010, 23:33
par Cyrano
Attention, chez free, il y a deux versions de PHP :
- Fichiers avec une extension « .php » => 4.4.3-dev;
- Fichiers avec une extension « .php5 » => 5.1.3RC4-dev
La différence de version pour mcrypt n'est pas énorme mais ça peut venir de ça si le code utilise une syntaxe PHP5.

Re: Problème php chez free?

Posté : 26 nov. 2010, 14:02
par tthierry
Cyrano, c'est une bonne idée et ça aurait pu être ça. Merci de me l'avoir signalé. Mais en fait, mon fichier est bien nommé avec le suffixe php5.
L'erreur vient d'ailleurs et pour l'instant je n'ai pas d'explication.
MOn script est:

$chaine = 'Bravo!';
$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_OFB), MCRYPT_DEV_RANDOM);
$ks = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_OFB);
$key = substr('clefdecodage', 0, $ks);
$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $chaine, MCRYPT_MODE_OFB, $iv);
echo "Resultat : $encrypted";
Rien que ça! et ça plante.

Le même script fonctionne parfaitement sur mon mac.
D'autres suggestions? :?:

Re: Problème php chez free?

Posté : 26 nov. 2010, 14:55
par Cyrano
Oui, regarde la doc à propos du second paramètre de mcrypt_create_iv : tu utilises la valeur par défaut qui va donc chercher une ressource dans /dev/urandom : il est possible que ce chemin soit inaccessible dans les serveurs de free.

Je suggère donc de remplacer par MCRYPT_RAND et là ça fonctionne. Exemple avec :
$chaine     = 'Bravo!';
$ks         = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CFB);
$iv         = mcrypt_create_iv($ks, MCRYPT_RAND);
$key        = substr('clefdecodage', 0, $ks);
$encrypted  = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $chaine, MCRYPT_MODE_OFB, $iv);
echo "Resultat : $encrypted";
Ce qui donne ceci.