Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1300 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Bug bizarre : erreur 500 sur phpinfo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bug bizarre : erreur 500 sur phpinfo

n°2463032
mechkurt
Posté le 29-01-2024 à 18:16:25  profilanswer
 

J'ai migré un vieux Magento 1.8 entre 2 serveurs administré sur Plesk.
La migration s'est déroulé sans soucis mais le site refuse de fonctionner sur le nouveau serveur, erreur 500 sur l'index, j'ai fait les trucs de base de maintenance Magento, vider le cache, les sessions etc mais au final j'ai essayé de faire toruner un bête script php pour voir si c'était un problème de droits sur les fichier ou autre.
Je fait donc un fichier test.php contenant c'est quelques lignes :

Code :
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4. if (array_key_exists('info', $_GET)) {
  5.     phpinfo();
  6. } else
  7. if (array_key_exists('gcu', $_GET)) {
  8.     echo 'get_current_user:' . get_current_user();
  9. } else {
  10.     echo 'IP:' . $_SERVER['REMOTE_ADDR'];
  11. }
  12. ?>


et ce qui vas suivre vas vous étonner...

Citation :

/test.php?gcu=1  => get_current_user: nom_de_l_utilisateur_ftp (sur Plesk c'est le même que l'utilisateur apache / php)
/test.php => IP:XX.YYY.XX.YYY
/test_ip.php?phpinfo=1 => aucun affichage


Comment c'est possible d'après vous ?
 
Sachant que le même script sur un autre hébergement du même serveur Plesk (et avec la même configuration de php, la dernière 5.6) va fonctionner correctement en affichant la page phpinfo "normalement".
 
Je vais probablement aller faire un post sur le forum de Plesk mais je ne sais même pas trop quoi leur dire, quelqu'un a une idée ?
 [:mechkurt:2]


---------------
D3
mood
Publicité
Posté le 29-01-2024 à 18:16:25  profilanswer
 

n°2463034
koskoz
They see me trollin they hatin
Posté le 29-01-2024 à 18:22:05  profilanswer
 

Ils montrent quoi les logs apache et php quand tu essayes d'afficher phpinfo ?


---------------
Twitter
n°2463038
FlorentG
Posté le 29-01-2024 à 18:38:22  profilanswer
 

Déjà pour ton phpinfo, t'attend une key "info", mais t'as mis ?phpinfo=1 dans ton exemple.
 
Ensuite comme dit koskoz, regarde déjà dans le log Apache, si c'est une erreur 500.

n°2463039
koskoz
They see me trollin they hatin
Posté le 29-01-2024 à 18:40:28  profilanswer
 

J'ai même pas regardé ça :whistle:

 

Franchement le plus simple :

 
Code :
  1. <?php
  2.  


Message édité par koskoz le 29-01-2024 à 18:40:53

---------------
Twitter
n°2463040
rufo
Pas me confondre avec Lycos!
Posté le 29-01-2024 à 19:11:48  profilanswer
 

FlorentG a écrit :

Déjà pour ton phpinfo, t'attend une key "info", mais t'as mis ?phpinfo=1 dans ton exemple.
 
Ensuite comme dit koskoz, regarde déjà dans le log Apache, si c'est une erreur 500.


Malgré l'erreur de clé, ça aurait dû afficher l'IP (passer dans le else, ce qui ne semble pas être la cas). Je verrais bien un pb de droits d'accès, fichiers transférer avec un compte qui ne permet pas ensuite à apache d'exécuter les fichiers php :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463050
koskoz
They see me trollin they hatin
Posté le 29-01-2024 à 20:33:23  profilanswer
 

Dans ce cas comment expliquer que tu as un résultat pour l'IP et l'utilisateur ?
 
Il me semble que si php ne peut pas être exécuter tu verrais le contenu affiché [:transparency]
 
En tout cas, sans log, difficile d'en savoir plus [:neriki]


---------------
Twitter
n°2463052
rufo
Pas me confondre avec Lycos!
Posté le 29-01-2024 à 21:09:44  profilanswer
 

Ah oui, effectivement :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463061
mechkurt
Posté le 29-01-2024 à 22:33:20  profilanswer
 

Désolé pour la typo sur phpinfo et info, problème de copier coller, j'ai raccourci pour tester d'autres fonctions... :o  
 
Le probleme (que je ne comprends pas), c'est qu'il ne semble pas y'avoir d'erreur, en tout cas pas affiché alors qu'elle devrait et pas plus dans les logs.
J'avais une 500 au début dans le cas du phpinfo() mais sans autre message, je ne l'ai plus depuis que j'ai redémarré le serveur (have you tried to turn it off and on again), maintenant j'ai une reponse 200 mais toujours sans affichage. :(  
 
J'ai modifié comme ci-dessous :

Code :
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4. echo '<br>A';
  5. if (array_key_exists('info', $_GET)) {
  6.     echo '<br>B';
  7.     phpinfo();
  8.     echo '<br>C';
  9. } else
  10. if (array_key_exists('gcu', $_GET)) {
  11.     echo '<br>get_current_user:' . get_current_user();
  12. } else {
  13.     echo '<br>IP:' . $_SERVER['REMOTE_ADDR'];
  14. }
  15. echo '<br>D';
  16. ?>


J'ai aucun affichage lors de la boucle phpinfo, même pas le A du début, alors que dans les 2 autres cas l'affichage ne présente pas de surprise.
 
J'ai essayé dès le début en mode minimal comme ton exemple Koskoz, (je l'air refait pacqu'on est pas toujours fiable ^^), mais ça ne fonctionne pas mieux.


---------------
D3
n°2463078
mechkurt
Posté le 30-01-2024 à 08:40:15  profilanswer
 

Nouveau test ce matin avec ce fichier :

Code :
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4. echo '<br>A';
  5. if (array_key_exists('info', $_GET)) {
  6.     echo '<br>B';
  7.     phpinfo();
  8.     echo '<br>C';
  9. } else
  10. if (array_key_exists('gcu', $_GET)) {
  11.     echo '<br>D<br>get_current_user:' . get_current_user();
  12. } else
  13. if (array_key_exists('error', $_GET)) {
  14.     echo '<br>E<br>error:';
  15.     trigger_error('This is a test error', E_USER_ERROR);
  16. else {
  17.     echo '<br>F<br>IP:' . $_SERVER['REMOTE_ADDR'];
  18. }
  19. echo '<br>G';
  20. ?>


/test.php?error=1

Citation :

A
E
error:
Fatal error: This is a test error in /var/www/vhosts/mon-domaine.ndd/httpdocs/test.php on line 15


/test.php?info=1

Citation :

HTTP/1.1 200 OK
Server: nginx
Date: Tue, 30 Jan 2024 07:38:31 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Connection: keep-alive
X-Powered-By: PHP/5.6.40
X-Powered-By: PleskLin


---------------
D3
n°2463092
koskoz
They see me trollin they hatin
Posté le 30-01-2024 à 10:17:48  profilanswer
 

T'as même pas "B" et "C" qui s'affichent ?


---------------
Twitter
mood
Publicité
Posté le 30-01-2024 à 10:17:48  profilanswer
 

n°2463113
mechkurt
Posté le 30-01-2024 à 13:21:52  profilanswer
 

Citation :

Content-Length: 0


Non rien du tout, ni A ni rien d'autre...
 
Nib
 
Queud
 
Peau de zob
 
Jamais vu ça.
 
Du php non interprété oui, mais du des fois ça marche et des fois ça marche pas sans erreur ni log, c'est la première fois... :(
Je vais faire un post sur le forum de Plesk mais je ne sais même pas comment le formuler.  [:ruisseau de larmes]  
 
Le pire c'est que le but c'est pas d'avoir phpinfo() mais de faire marcher un vieux magento hébergé sur un vieux centos à une machine récente, autant dire que je suis pas sorti des ronces...


Message édité par mechkurt le 30-01-2024 à 13:22:16

---------------
D3
n°2463118
rufo
Pas me confondre avec Lycos!
Posté le 30-01-2024 à 13:56:09  profilanswer
 

Y'aurait pas un module de sécurité Apache qui bloquerait l'exécution de la page PHP quand tu lui passes certains noms de paramètres ?
J'ai eu ça avec un wiki (Mediawiki). Certaines pages n'étaient pas envoyées au navigateur parce que certains articles, quand ils étaient en mode "édition", avait de la syntaxe wiki qui était interprétée par le module de sécurité apache comme étant un truc posant pb :/ Une fois le module désactivé (ou certaines règles retirées), ça allait beaucoup mieux :) Et pareil, ça le faisait que sur certaines pages du wiki, pas sur toutes. J'ai mis du temps à trouver.
 
Et le support informatique qui disait que ça venait de l'appli. Moi, je disais non, c'est pas possible, la page n'est pas envoyée au navigateur, donc, le PHP de l'appli n'est même pas interprété, donc, le pb se passe avant l'interprétation de PHP, donc, ça vient d'apache :o
 
Edit : moi, c'était une erreur 403 que j'avais, pas 500. La solution était de désactiver les modes SecRuleEngine et SecRequestBodyAccess directement dans la configuration général d’apache
https://www.mediawiki.org/wiki/ModSecurity
https://www.mediawiki.org/wiki/Topic:Tq7x3cezzpgqwimt

Message cité 1 fois
Message édité par rufo le 30-01-2024 à 13:59:55

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463120
koskoz
They see me trollin they hatin
Posté le 30-01-2024 à 14:27:07  profilanswer
 

Vu que tu as testé uniquement avec mon code plus haut ça ne devrait pas se produire non ?
 
Qu'est-ce que tu vois si tu affiches la source de la page ?


---------------
Twitter
n°2463152
mechkurt
Posté le 30-01-2024 à 18:03:15  profilanswer
 

rufo a écrit :

Y'aurait pas un module de sécurité Apache qui bloquerait l'exécution de la page PHP quand tu lui passes certains noms de paramètres ?
J'ai eu ça avec un wiki (Mediawiki). Certaines pages n'étaient pas envoyées au navigateur parce que certains articles, quand ils étaient en mode "édition", avait de la syntaxe wiki qui était interprétée par le module de sécurité apache comme étant un truc posant pb :/ Une fois le module désactivé (ou certaines règles retirées), ça allait beaucoup mieux :) Et pareil, ça le faisait que sur certaines pages du wiki, pas sur toutes. J'ai mis du temps à trouver.
 
Et le support informatique qui disait que ça venait de l'appli. Moi, je disais non, c'est pas possible, la page n'est pas envoyée au navigateur, donc, le PHP de l'appli n'est même pas interprété, donc, le pb se passe avant l'interprétation de PHP, donc, ça vient d'apache :o
 
Edit : moi, c'était une erreur 403 que j'avais, pas 500. La solution était de désactiver les modes SecRuleEngine et SecRequestBodyAccess directement dans la configuration général d’apache
https://www.mediawiki.org/wiki/ModSecurity
https://www.mediawiki.org/wiki/Topic:Tq7x3cezzpgqwimt


Sur mon serveur j'ai configuré ModSecurity en mode Detection only  (du coups ça fait des trace dans la log et c'est fail2ban qui gère vraiment les malveillant).
De toute façon de ce que je comprend du truc, ça ne devrait pas intervenir différemment entre un appel test.php?info=1 et test.php?cur=1 car ça intervient en amont sur de l'affichage sur la detection de requete malveillante (genre un gars qui essaye d’accéder à un fichier de config.

koskoz a écrit :

Vu que tu as testé uniquement avec mon code plus haut ça ne devrait pas se produire non ?


Oui, je penses aussi.

koskoz a écrit :

Qu'est-ce que tu vois si tu affiches la source de la page ?


Je ne vois rien, je penses que rien n'est renvoyé, j'ai un chiffre 1 en haut de page comme N° de ligne mais je penses que c'est le comportement par défaut sur un fichier vide.
Demain j'aurais plus de temps pour m'en occuper, j'essayerais de demander sur le forum de Plesk...


---------------
D3
n°2463157
rat de com​bat
attention rongeur méchant!
Posté le 30-01-2024 à 18:58:53  profilanswer
 

J'y connais rien :o , mais au pif: Y'aurais pas une ré-écriture des URL ou ce genre de trucs dans le htaccess?


---------------
matos à vendre
n°2463164
mechkurt
Posté le 31-01-2024 à 08:25:13  profilanswer
 

J'ai essayé de renommer le .htaccess du Magento pour voir mais sans succès...
 
Ce serait vicieux qu'une recriture d'url capte test.php?info=1 et pas les autres, mais on est jamais trop prudent, et le htaccess pourrait agir sur autre chose que la ré-écriture (chargement de module, cache ou autre)...


---------------
D3
n°2463167
rufo
Pas me confondre avec Lycos!
Posté le 31-01-2024 à 09:49:33  profilanswer
 

Certains paramètres d'url pourraient être considérés comme dangereux pour la sécu :/ C'était ma piste...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463177
koskoz
They see me trollin they hatin
Posté le 31-01-2024 à 10:47:50  profilanswer
 

Ouais, enfin si t'as testé mon bout de code comme tu dis l'avoir fait, cette piste ne devrait pas en être une [:kiki]


---------------
Twitter
n°2463179
mechkurt
Posté le 31-01-2024 à 11:12:31  profilanswer
 

Oui c'est vrai, ça ne fonctionne pas non plus dans le cas le plus simple mais on est dans un cas de figure tellement bizarre que je suis prêt à tout essayer ! ^^
 
Je voulais aussi démontrer que php fonctionne au moins en partie...


---------------
D3
n°2463181
rufo
Pas me confondre avec Lycos!
Posté le 31-01-2024 à 11:45:23  profilanswer
 

Tu pourrais nous faire une synthèse de tes tests au final avec le script exact testé. J'ai l'impression que tout n'a pas été mis sur le topic avec exactitude :jap:
Parce que j'ai cru comprendre qu'avec le même script, suivant le paramètre mis dans l'url, soit t'avais un truc qui s'affichait, soit t'avais rien du tout, comme si son serveur web ne renvoyait rien du tout.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2463189
mechkurt
Posté le 31-01-2024 à 13:21:21  profilanswer
 

Désolé si je n'ai pas été clair.
En gros ne réussissant pas à afficher mon site migré, j'ai dabord pensé à un problème de migration et de version de php, donc pour tester j'ai crée un fichier info.php avec <?php phpinfo-); ?>.
Marche pas (erreur 500 je crois au tout début).
Je tentes mon fichier php de test d'IP (que j'utilisais pour filtrer par IP lors de certaine maintenance), celui-ci fonctionne donc php marchouille...
Du coups je fait un version un peu plus "élaborés" de mon fichier de test et on en est à peu près là :
https://forum.hardware.fr/hfr/Progr [...] m#t2463078
Tous les cas de figure fonctionne comme attendu (affiche de l'erreur, de l'IP ou de l'utilisateur) sauf ?info=1qui ne renvoie rien d'autre qu'une entête 200 et ne crée pas d'erreur.
A priori j'ai des 200 depuis le redémarrage du serveur, il me semble que j'étais en erreur 500 sans plus de détail avant celui-ci...


---------------
D3
n°2463277
mechkurt
Posté le 01-02-2024 à 08:26:13  profilanswer
 

Bon ben je sais pas trop ce que c'était car en décochant puis recochant le proxy nginx et en remettant le bon handler php ça semble maintenant fonctionner...
Probablement des fichier de configuration à ré-écrire.
 
Maintenant va falloir faire tourner le Magento, ça va probablement être encore une autre partie de plaisir.


---------------
D3
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Bug bizarre : erreur 500 sur phpinfo

 

Sujets relatifs
[Résolu] Comportement bizarre d'une fonction entre PHP5 et PHP8Comportement d'événement Javascript bizarre
Pourquoi j'ai cette erreur lorsque je met une image dans un bouton ou[ksh] Mixture bizarre dans une chaine de caracteres - getopts
Erreur compilation cursor plsqlMessage d'erreur avec VLookUp
erreur requete ldap depuis python[Résolu] PhpMyAdmin : msg d'erreur avec plusieurs requêtes SQL
Bug ExcelMacro de publipostage en multiple fichiers pdf - Message d'erreur
Plus de sujets relatifs à : Bug bizarre : erreur 500 sur phpinfo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR