Mea culpa maxima, la prochaine fois qu’on me dira que le php5 c’est mieux, je ne me dirai pas que cela marche « comme ça », et je testerai.
La mise en place de php5 m’a effectivement permis de résoudre tous les problèmes que j’avais sur ce blog (et sur d’autres), et notamment les incompatibilités de plugin, comme Subscribe2 comments.
Plus d’erreurs 500 non plus, bref le bonheur total.
Presque…
Car mon petit bouton de vote Wikio m’affichait une erreur
PHP Warning: fopen(http://www.example.com): failed to open stream: HTTP request failed!
fsockopen(): unable to connect to …
file_get_contents(): failed to open stream: HTTP request failed!
PHP Warning: main(): Failed opening ‘http://www.example.com/index.html’ for inclusion …
PHP Warning: include(/usr/local/index.php): failed to open stream: No such file or directory in …
Activer le php5 sur un serveur mutualisé
Que ce soit sur OVH, sur 1&1 ou sur d’autres, la manipulation est identique.
D’abord, dans le fichier .htaccess on va rajouter une ligne (deux en fait), disant à votre serveur de traiter un certain nombre de fichiers comme du php5.
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
Ensuite on va créer/modifier le fichier php.ini, qui doit lui aussi être placé à la racine du site.
Chez 1&1, il faut augmenter la taille mémoire, par défaut à 8 mega pour php5.
Chez tous, il faudra aussi mettre la variable register_globals à off (attention quand même à faire évoluer vos script, car cette variable ne sera plus supportée dans les versions ultérieures).
Et si, comme moi, vous utilisez les includes de fichiers externes (ce qui est le cas pour beaucoup de monde), il faudra autoriser ceux-ci.
Un fichier externe, c’est un fichier hébergé dans un autre nom de domaine que celui qui l’appelle. Par exemple, l’image du bouton de vote Wikio, ou des pubs.
D’un côté c’est un paramétrage « dangereux », car il permet d’inclure et d’éxécuter des fichiers malveillants.
D’un autre côté, jusqu’à maintenant, comme M. Jourdain, vous faisiez de l’url_include et du f_open par défaut, sans le savoir.
C’est juste le paramétrage « de base » du serveur qui change entre php4 et php5.
Voilà ce qu’il y a dans mon fichier php.ini
memory_limit = 40MB
register_globals = off
allow_url_fopen = 1
allow_url_include = 1
Curieusement, la syntaxe en mettant = on ne marchait pas chez 1&1…
Tags: htaccess, php.ini, php5

















Disons qu’ici le problème n’est pas de savoir si c’est PHP4 ou PHP5.
La différence, c’est les extensions PHP chargées par les 2 versions, et ça c’est OVH et plus généralement ton hébergeur qui spécifie cela ;)
Généralement ils mettent plus de choses sur le PHP5 d’où les erreurs en moins ;)