Lors de la rédaction de mon article sur le modèle EAV de Magento, j’ai rencontré quelques problèmes avec la version que j’utilise (la version 1.6.2) : les routines permettant la création des tables d’une entité ne fonctionnaient pas.
En regardant le changelog de la nouvelle version de Magento (la version 1.7.0), j’ai vu que celle-ci corrigeait – apparemment – les bugs concernés. J’ai donc décidé de basculer sur cette version. Et là, ce fut un vrai chemin de croix!!!
En rédigeant cet article, j’espère que cela pourra aider d’autres personnes qui se sont retrouvés dans le même cas que moi !
Et pour commencer, je tiens à remercier ÉNORMÉMENT la personne qui se cache derrière le pseudo perspres sur le forum de Magento car sans elle, j’y serai encore…
Il s’avère que la version 1.7.0 de Magento ne fonctionne pas avec PHP 5.3.10 !!! Ou alors, que ceux qui ont réussi à la faire fonctionner m’écrivent car je n’y suis jamais arrivé!
Or, Wamp 2.2d est fournie avec la version 5.3.10 de PHP. Vous devez donc installer l’addon PHP 5.3.0 de Wamp pour bénéficier d’une version inférieure de PHP.
Mais si en plus, comme moi, vous êtes en version 64bits de Wamp, vous êtes obligé de tout désinstaller pour installer la version 32bits de WampServer… 
En résumé, si vous voulez passer sur la version 1.7.0 de Magento, vous devez:
- installer la version 32 bits de WampServer 2.2d
- ajouter l’addon PHP 5.3.0
- configurer Wamp pour utiliser cette version 5.3.0 de PHP
- n’oubliez pas d’activer l’extension php_curl nécessaire à Magento, et – si souhaité – d’activer le rewrite_mode pour Apache.
Et là, enfin, vous pouvez lancer l’installation de Magento v1.7.0.
J’ai cru un moment qu’il ne s’agissait que d’un problème lié à l’installation de Magento mais pas du tout (en tout cas, en ce qui me concerne) !
=> Une fois Magento installé, accédez à la page d’accueil sous PHP 5.3.0. Vous devriez la voir apparaître.
=> Puis basculez sur la version 5.3.10 de PHP et rechargez la page d’accueil => Une belle page d’erreur devrait s’afficher…
En comparant les 2 fichiers php.ini (celui pour la version 5.3.0 et celui pour la version 5.3.10), je ne vois aucune différence !!
J’ai arrêté là les investigations mais c’est tout de même surprenant cette incompatibilité de Magento avec PHP 5.3.10.
XDebug avec PHP 5.3.0
Si comme moi vous souhaitez aussi utiliser XDebug, il vous faudra encore faire quelques ajouts car par défaut l’addon de PHP 5.3.0 n’est pas fournit avec XDebug…
Pour commencer, téléchargez la bonne version de XDebug. Si vous avez suivi ma configuration, il vous suffit de suivre ce lien pour obtenir la version « qui va bien ».
Sinon, pour connaître la version de XDebug à télécharger, il vous faut savoir:
- quelle version de PHP vous utilisez
- quelle version de compilateur MS a été utilisée pour la création de la DLL PHP: VC6 ou VC9
- êtes vous en mode Thread Safe ou pas
La réponse à ces questions se trouvent dans le phpinfo.
Déposez cette DLL dans un sous-répertoire zend_ext de votre addon PHP 5.3.0 (C:\wamp\bin\php\php5.3.0\zend_ext chez moi)
Et ajoutez cette configuration à la fin de votre fichier php.ini:
zend_extension="c:/wamp/bin/php/php5.3.0/zend_ext/php_xdebug-2.1.2-5.3-vc6.dll" xdebug.remote_enable=1 xdebug.remote_host="127.0.0.1" xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_mode=req
Voilà, vous devriez retrouver les fonctionnalités de XDebug !!
Tout ça pour pouvoir avoir la version 1.7.0 de Magento…
Ou alors, la solution est d’attendre la version 1.7.1 qui, je l’espère, devrait fonctionner avec PHP 5.3.10
Attention: gros souci avec l’objet DateTime lorsque PHP est en version 5.3.0 VC6!
- Plantage de PHP lors de la création d’un objet DateTime (création en parallèle)
- Impossible d’utiliser la fonction diff pour calculer un différentiel de jours: http://bugs.php.net/bug.php?id=51184
Et la seule solution est de réaliser une montée de version de PHP ! Sauf que cette fois-ci, ce sera Magento qui ne marchera pas… 
Est-ce que quelqu’un a essayé de faire tourner la version 1.7 de Magento sur la dernière version de Wampserver qui contient PHP 5.3.13? Ce serait sympa de nous faire un retour ici !!
[MAJ]
Bon, je me fais ma propre réponse: je ne sais pas si cela fonctionne avec la version 5.3.13 mais ce qui est sûr, c’est que cela fonctionne avec la version 5.3.14…
En fait, vous n’êtes pas obligé d’utiliser les addons fournis par Wamp : vous pouvez vous même installer la version de PHP que vous voulez (tant que cela reste compatible avec les autres éléments (Apache, MySQL). Pour cela:
- téléchargez le ZIP de la version de PHP que vous désirez. Dans mon cas, il s’agit de la version 5.3.14 et décompressez les fichiers dans C:\wamp\bin\php\php5.3.14 (en supposant que votre serveur Wamp se trouve dans C:\wamp).
- allez piquer les fichiers wampserver.conf, phpForApache.ini et php.ini présents dans une autre version de PHP et copiez les dans le répertoire php5.3.14.
- arrêtez votre serveur Wamp et redemmarrer le
- Vous devriez avoir accès à une nouvelle version de PHP…
C’est une bonne nouvelle car cela signifie que Magento peut ENFIN fonctionner sur des versions de PHP à jour, et surtout, exempts de bug (en tout cas, je n’ai plus de souci avec l’objet DateTime).
Cela veut dire aussi que vous pouvez certainement installer la dernière version de Wampserver (2.2E), cela devrait fonctionner. Et si cela ne fonctionne pas, vous pouvez passer sur la dernière version de PHP avec la méthode que je viens de vous donner.
Personnellement, je reste sur ma version de WampServer. Ras le bol de perdre du temps dans ces désinstallations/résinstallations…

Solution is here:
http://www.opensourcemagento.com/viewtopic.php?f=25&t=187&sid=9edb2daaed49ae9a24506178ddc6f705
Bonjour Philippe,
Tout d’abord, Philippe, merci et félicitations pour l’ensemble des articles de très bonnes qualités que tu proposes sur ce présent blog.
Pour une autre raison (problème de performance en local de Magento pourtant sur une machine relativement puissante Intel I5 + 6Go), je me suis pris pas mal la tête avec ma configuration WAMP. Après l’installation d’un Zend Server CE, je n’avais aucun problème de performance, mais j’apprécie la plus grande simplicité d’utilisation et de configuration de WAMP (depuis longtemps) donc je me suis un peu obstiné.
Ce qu’il en ressort :
- Préférer une installation de WAMP2.2 en version 32bits. Il est plus facile de trouver les dll correctement compilées pour par exemple ajouter APC ou autre memcached.
- Désactiver la fonctionnalité « profiler » de xDebug. Très gourmande en ressource et en espace disque. Ce qui n’était pas flagrant avec d’autre CMS était crucial avec Magento.
Ne garder que la partie permettant le placement de point d’arrêt avec son IDE préféré (netbeans pour moi)
Voilà en l’état, je n’ai rencontré aucun problème d’installation de Magento 1.7.0.2 avec WAMP2.2e 32bits (Apache 2.2.22, PHP 5.3.13, MySQL 5.5.24) et j’ai retrouvé un Magento à peu près véloce
)
Merci Emmanuel pour ce commentaire.
XDebug est formidable pour fournir des informations de debugging supplémentaire et pour réaliser des points d’arrêts!
Je te rejoins complètement sur tes conclusions: personnellement, je suis sur WAMP 64bits mais je ne vois aucune différence de perf par rapport à la version 32 bits. Et les inconvénients sont pour l’instant plus nombreux (notamment les difficultés à trouver les DLLs). Donc oui, le 32 bits a encore de nombreux jours devant lui!!
Pour le profiler xDebug: oui, c’est à éviter, ou à n’activer que lorsque c’est vraiment nécessaire. Malgré tout, comme tu l’indiques, il ne faut pas jeter le « bébé avec l’eau du bain »..