PHP 5.3.5 - Correctif lenteur au chargement de php_curl

Le module php_curl contenu dans PHP 5.3.5 (VC6 TS) n'est toujours pas corrigé. (ainsi que la 5.3.6 VC9)
Cela ne vient pas des sources de l'extension PHP, mais des .lib utilisés lors de la compilation (libcurl_a.lib exactement). Curl initialise un buffer aléatoire pour la sécurité SSL au chargement en se basant sur différentes données de l'ordinateur dont une partie du contenu affiché à l'écran (Rand_screen et Rand_poll). Le problème est que cette initialisation est effectuée au chargement de l'extension même si elle n'est pas utilisée par PHP...

Ce problème (uniquement sous windows) semble correspondre à un vieux ticket : http://curl.haxx.se/mail/lib-2004-06/0133.html

Voici donc l'extension "patchée" pour corriger le probleme avec l'api RAND_Screen (#468) et améliorer la vitesse de chargement de PHP (instantané au lieu des 2 à 3 secondes ici sur un Core2 Duo E8400).

un simple "php -m" vous permettra de vous en rendre compte.

Pour plus d'infos : http://bugs.php.net/bug.php?id=53578 , http://bugs.php.net/bug.php?id=50410
Bizarrement, ce correctif ne fonctionne pas avec la version contenue dans 5.2.17 (libcurl 7.21.0), le correctif réduit bien le temps de chargement, mais provoque une erreur à l'utilisation de curl_init();

J'ai donc effectué le patch directement dans libeay32.dll afin de rendre la fonction RAND_Screen "vide". Cela à l'avantage de corriger les différentes versions de PHP (5.2 et 5.3 ainsi que les versions VC9)

EDIT 5 Mai 2011 : Mieux, cette initialisation SSL est inutile car déjà effectuée dans le module php_openssl, je joins donc un nouveau correctif php_curl.v5.3.6-ts-vc9_x86.zip (pour la 5.3.6 VC9 officielle)

Rappel : Pour mettre à jour PHP dans EWS, vous pouvez utiliser l'assistant de mise à jour :
- Téléchargez le fichier http://windows.php.net/downloads/releases/php-5.3.5-Win32-VC6-x86.zip dans W:\update\download\php53
- Cliquez sur le bouton "Update Manager" dans EWS
- PHP 5.3.5 doit être coché si vous avez téléchargé le fichier au bon endroit
- Cliquez sur Installer et c'est terminé... :)

AttachmentSizeDownloadsLast Download
php_curl.v5.3.6-ts-vc9_x86.zip (NOT for EWS 3.1 !)224.02 KB32222 weeks 11 hours ago
php_curl.v5.3.5-ts.vc6.zip268.6 KB36792 weeks 11 hours ago
libeay32.098q.rar387.42 KB36812 weeks 11 hours ago