JeuWeb - Crée ton jeu par navigateur
Passage à PHP 5.4 - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Passage à PHP 5.4 (/showthread.php?tid=7441)



Passage à PHP 5.4 - xanthius - 19-08-2015

Bonsoir,
encore moi ! :p
Voilà je suis sur un hébergeur qui est actuellement en 5.2 j'ai donc tenté de migrer vers la 5.4 en ajoutant au fichier .htaccess cette ligne :
AddHandler application/x-httpd-php54 .php
J'ai fais attention à ce que le register_globals soit sur Off chose faite. Lorsque j'applique le .htaccess j'ai une erreur 500. Il n'y a que la 5.2 qui fonctionne.
Des pistes ?


RE: Passage à PHP 5.4 - Akira777 - 19-08-2015

Salut !

A première vue, t'as mal configuré ton .htaccess (accident de copié/collé).
Regarde ton fichier error_log si tu en as un. Il t'en dira forcèment plus.

Sinon essaie de faire :
error_reporting(E_ALL);
ini_set('display_errors', 'on');

Si c'est pas le .htaccess c'est probablement une petite saloperie de Fatal Error PHP qui sous certaine configuration envoie une erreur 500.


RE: Passage à PHP 5.4 - xanthius - 19-08-2015

j'applique cela où ?
Quand j'enlève : AddHandler application/x-httpd-php54 .php
tout remarche du moins pas vraiment, mon forum nécessite 5.4 au mini (c'est pour un mod) et des que je recolle cette ligne Erreur 500 ..


RE: Passage à PHP 5.4 - Xenos - 19-08-2015

Error reporting, init_set, etc je dirai que cela n'aidera pas. L'erreur 500 de bute en blanc ressemble plutôt à une erreur Apache, surtout quand elle intervient après une modif du htacess. Le mieux est alors de regarder les logs Apache (et non les log PHP), là, l'erreur est souvent très explicite.

Vu que tu édites une règle AddHandler, je dirai que le mimetype est erroné, ou non reconnu par l'hébergeur.

Après, PHP est en 5.6 actuellement plutôt qu'en 5.4 (et il passera en 7 avant la fin de l'année).

Si tu n'as pas d'accès aux logs Apache, insère ta règle dans ton htaccess et requête un fichier autre que PHP: si c'est le .htaccess qui coince, il refusera de servir le fichier demandé. Si le fichier est servi, crée un fichier PHP tout simple (<?="Hello World?>). S'il est servi, c'est que le PHP plante. S'il n'est pas servi (alors qu'un fichier image l'est), c'est le type MIME du .htaccess qui n'est pas reconnu.


RE: Passage à PHP 5.4 - xanthius - 19-08-2015

Je pensais ne pas utiliser de version trop trop récente de peur qu'elle ne soit pas utilisable.
Par contre, je découvre ce sujet, je découvre le passage d'une version à une autre étant donné qu'avant j'étais sur une version plus récente.
Du coup, simplement je peux faire quoi ?

ps: mon forum est dans un autre sous dossier dont j'ai placé un HTACCESS avec la version 5.4 mais sans comprendre pourquoi tout c'est bloqué ..

EDIT :
Bon j'y comprend vraiment rien là.
j'ai ajouté ceci pour le forum : AddHandler application/x-httpd-php56 .php
et tout marche, ce dernier utilise maintenant PHP5.6.9
Seulement quand j'applique cela pour le jeu j'ai l'erreur 500

les dossiers sont disposés comme ceci :

www
index.php (dossier forum) (dossier game)
j'ai posé le htaccess dans le dossier www, forum et game du coup index.php est en php 5.6.9 ainsi que forum et logiquement la partie game mais voilà j'ai une erreur 500 ..


RE: Passage à PHP 5.4 - niahoo - 20-08-2015

Essaie ce que dit Akira777. Tu as probablement l'affichage des erreurs PHP désactivé. Du coup, au lieu d'afficher l'erreur avec un code 200, Apache catche l'erreur (pur simplifier grandement) et renvoie une erreur 500.

SI jamais tu n'arrives pas à afficher les erreurs, monte ton code en local sur ton PC où tu pourras configurer apache et surtout php.ini directement avec
Code :
error_reporting = E_ALL
display_errors = on
et comprendre ce qu'il se passe.


RE: Passage à PHP 5.4 - xanthius - 20-08-2015

Fou ! je suis long à la détente ^^
j'ai accès au php ini, ben oui vue que c'est sur ça que j'éditer le register global
bref, le display error était sur ON mais je ne savais pas où trouver les données mais ça c'était avant !
voilà les erreurs dû au passage à PHP 5.6.9

[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] Failed loading /home/ioncube_loader_lin_5.2.so: /home/ioncube_loader_lin_5.2.so: undefined symbol: execute, referer: http://www.iris.powa.fr/index.php
[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] Zend Optimizer requires Zend Engine API version 220060519., referer: http://www.iris.powa.fr/index.php
[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] The Zend Engine API version 220131226 which is installed, is newer., referer: http://www.iris.powa.fr/index.php
[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer., referer: http://www.iris.powa.fr/index.php
[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] , referer: http://www.iris.powa.fr/index.php
[Thu Aug 20 00:54:57 2015] [error] [client 92.144.22.15] malformed header from script. Bad header=<b>Security Alert!</b> The PHP: connexion.php, referer: http://www.iris.powa.fr/index.php

C'est à cause du zend ?


RE: Passage à PHP 5.4 - niahoo - 20-08-2015

Ta dernière erreur est due à la façon dont on accède à PHP. Mais avec apache et le mod php c'est bizzare. Est-ce que c'est toi qui a installé ioncube (qui ne peut pas être chargé visiblement, et qui cherche encore du code 5.2)


RE: Passage à PHP 5.4 - xanthius - 20-08-2015

Bonjour,
Non ce n'est pas moi. Je n'ai rien installé juste déposé sur le serveur mes fichiers.

Edit :
j'ai contacté le support qu'i m'a informé que la dernière version pouvant être installé était la 5.5
AddHandler application/x-httpd-php55 .php

Bizarrement j'ai pu installer la 5.6 pour le forum.. Enfin bref, le soucis venait des des php.ini je les ai tous supprimés et j'ai passé le jeune 5.5 et ça a fonctionné. Tout est bien qui fini bien ^^

Merci à vous car vous m'avez fait découvrir des choses que je ne savais pas, qui m'aideront plus tard j'en suis sur !


RE: Passage à PHP 5.4 - niahoo - 20-08-2015

Bon en tout cas la dernière erreur montre que ta variable de php.ini cgi.force_redirect* est à 1, ce qui est normal dans le cadre d'un fonctionnement classique avec Apache. Essaie de mettre la variable à 0 et dis-nous si ça fonctionne. Mais ne considères pas ça comme une solution (enfin, ça dépend de ton install en fait).


* selon la version, la variable peut s'appeler force_cgi_redirect