Installation « manuelle » de PHP 5.3.0 avec Wampserver 2 (Apache 2.2.11 - Mysql 5.1.3x)
- Quitter Wampserver
- Télécharger le pack VC6 Thread Safe en zip : [windows.php.net]
- Créer un dossier wamp\bin\php\php5.3.0 et y dézipper l'archive téléchargée. - Dans ce dossier copier les fichiers : -- wamp\bin\php\php5.2.9-2\wampserver.conf (Permet la prise en charge par Wampserver) -- wamp\bin\apache\apache2.2.11\bin\php.ini (C'est-à-dire la configuration php en cours d'utilisation)
Éditer le fichier wamp\bin\php\php5.3.0\php.ini Remplacer : extension_dir = "x:/wamp/bin/php/php5.2.9-2/ext/" Par extension_dir = "x:/wamp/bin/php/php5.3.0/ext/"
Remplacer toute la section complète des lignes : extension=php_bz2.dll ... extension=php_zip.dll
Nota : -- Les extension précédées de --- sont celles pour lesquelles il n'existe pas de fichier *.dll dans l'archive PHP 5.3.0 De ce fait, elle n'apparaîtront pas dans les extensions « activables ». -- Toutes les extensions sont désactivées (; au début de ligne). -- Les extensions seront activées une par une via l'icone Wampserver, PHP, Extensions PHP.
Sauver le fichier wamp\bin\php\php5.3.0\php.ini modifié. Copier : x:\wamp\bin\php\php5.3.0\php.ini en x:\wamp\bin\php\php5.3.0\phpForApache.ini
Lancer Wampserver Icone Wampserver, PHP, Version, Valider 5.3.0 Attendre quelques instants Puis, une par une, valider les extensions souhaitées par l'icone Wampserver, PHP, PHP Extensions en attendant cinq à dix secondes entre chaque validation.
Avec PHP 5.3.0, vous pourrez avoir quelques surprises d'avertissement (Warning), par exemple sur le fichier G:\wamp\www\index.php pour les fonctions ereg(...) et ereg_replace qui sont obsolètes (Deprecated) et qu'il faudra remplacer par preg_match(...) et preg_replace(...) avec un tout petit changement de syntaxe, par exemple :
ereg('.conf',$file) en preg_match('/.conf/',$file) ereg_replace('.conf','',$file) en preg_replace('/.conf/','',$file)
Hum. Merci pour ce tuto ! Ayant eu des problèmes à installer PHP5.3, je testerai ça la semaine prochaine et je te dirai ce qu'il en est... Sinon, il est également possible de modifier le nom du fichier php.ini dans wampserver.conf. Ainsi, on peut utiliser le nom du fichier de développement ou de prod, selon ce qu'on veut. (si ca sert à quelqu'un)
Avec PHP 5.3.0, attention aux paramètres et fonction « obsolètes », comme on a pu le voir, ci-dessus, avec la fonction ereg.
Je cite php.net :
PHP 5.3.0 introduit deux nouveaux niveaux d'erreur : E_DEPRECATED et E_USER_DEPRECATED. Le niveau d'erreur E_DEPRECATED sert à indiquer qu'une fonctionnalité est obsolète, et E_USER_DEPRECATED sert à la même chose pour les fonctions utilisateur, tout comme E_USER_WARNING .
Voici une liste des directives INI obsolètes : si l'une d'entre elle est activée, elle va émettre une alerte d'obsolescence au démarrage.
* define_syslog_variables * register_globals * register_long_arrays * safe_mode * magic_quotes_gpc * magic_quotes_runtime * magic_quotes_sybase * Les commentaires initiés par "#" sont obsolètes dans les fichiers .ini.
Continuons les « mises au point » pour l'installation de PHP 5.3.0.
Sur PHP.net, il est écrit :
Extensions retirées
Ces extensions ont été placées dans PECL, et ne font plus partie de la distribution PHP. Le paquet PECL de ces extensions seront créés en fonction de la demande des utilisateurs. * dbase : plus entretenue. * fbsql : plus entretenue. * fdf : entretenue. * ming : entretenue. * msql : plus entretenue. * ncurses : entretenue. * sybase : abandonnée. Utilisez sybase_ct à la place, qui fait partie du coeur de PHP. * mhash : abandonnée. Utilisez plutôt hash à la place. hash supporte totalement mhash, et les applications seront compatibles.
Ceci veut dire que certaines lignes de chargement d'extension de php.ini peuvent être purement et simplement supprimées :
Un gros merci pour ce topo, ça m'a aidé quand même de savoir ce qu'il fallait modifier (ou pas toucher : wampmanager.ini par exemple... :p)
Mais même après avoir tout bien refait de zéro il restait un problème apparemment pas dû à Wamp mais carrément un bug de PHP (5.3 en tout cas) : gros plantage dans le navigateur ("Connexion interrompue" "réinitialisée avec le serveur"...) avec une page générant une Notice ou phpinfo() par exemple [bugs.php.net] (enfin je crois que c'est ce que j'ai eu...) avec la configuration développement par défaut.
Alors c'est embêtant de plus pouvoir déboguer ses scripts dès qu'y a une erreur...
J'ai trouvé deux solutions, qui consistent à modifier wamp\bin\php\php5.3.0\php.ini (étape supplémentaire avant la copie en phpForApache.ini dans le topo ci-dessus donc)
- solution 1 : désactiver le logging des erreurs (mouais...) Remplacer : log_errors = On Par : log_errors = Off
- solution 2 : dans la section [Date] définir une timezone valide (mieux non ?) Remplacer : ;date.timezone = Par : date.timezone = "Europe/Paris" ;(par ex. Paris)
Voilà j'ai choisi la solu 2 (permet de garder le log d'erreurs) et ça marche bien maintenant En espérant que ça pourra ptet aider quelques uns (parce que moi j'ai pas trouvé tout de suite...). Bonne nuit
Ah ben Roms vient de "release" la dernière version de WampServer avec PHP 5.3.0 ! Et le nouveau php.ini comporte les 2 solutions en même temps ^^ (ligne ;error_log = "c:/wamp/logs/php_error.log" en commentaire + ajout de date.timezone = UTC) (bon personnellement j'ai re-décommenté le error_log paske du moment que la timezone est précisée ça marche toujours, enfin pour moi en tout cas...) Wé c'est vrai que UTC par défaut c'est plus "universel" que "Europe/Paris" ^^
toumimi a écrit: ------------------------------------------------------- > Sinon, il est également possible de modifier le > nom du fichier php.ini dans wampserver.conf. > Ainsi, on peut utiliser le nom du fichier de > développement ou de prod, selon ce qu'on veut. > (si ca sert à quelqu'un) > $phpConf['phpConfFile'] = 'php.ini-development';
effectivement, pouvoir switcher entre plusieurs php.ini peut s'avérer assez utile