PHP Warning incompréhensible

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par poupilou, 5 Mars 2015.

  1. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Salut à tous,

    Je constate dans mes log d'erreurs que 2 ou 3 de mes pages ne sont pas crawlés correctement par Google et MSN, ils provoquent un PHP Warning, voici le message que je trouve dans mes logs :

    Code:
    [Thu Mar 05 16:07:52 2015] [error] [client 66.249.67.13] PHP Warning:  include(ma_page.php): failed to open stream: No such file or directory in /home/www/script_css.php on line 10
    
    [Thu Mar 05 16:07:52 2015] [error] [client 66.249.67.13] PHP Warning:  include(): Failed opening 'ma_page.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/www/script_css.php on line 10
    
    Le souci c'est que je n'ai pas d'erreurs qui s'affiche quand j'accède en http à ma_page.php ... cette page s'affiche parfaitement bien et elle existe bien sur mon serveur :(

    Dans ce cas là comment trouver ce qui cloche avec ces crawlers ?

    Existe-t-il un outil qui puisse permettre de crawler comme Google et voir ce qui ne vas pas ?

    Merci pour vos conseils et votre aide.
     
  2. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    le message dit que c'est à la ligne 10 de /home/www/script_css.php qu'il y a un problème, soit un fichier inclus qui n'existe pas à l'endroit demandé.
    c'est donc script_css.php qu'il faut examiner (voir le source généré) et corriger le php.
     
  3. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Merci pour ta réponse mais je ne vois pas de problème à la ligne 10 du fichier script_css.php et lorsque je me connecte en http à ma page ma_page.php le fichier script_css.php ne retourne pas d'erreur PHP, tout fonctionne parfaitement bien :(
     
  4. jeanluc
    jeanluc WRInaute accro
    Inscrit:
    3 Mai 2004
    Messages:
    2 882
    J'aime reçus:
    0
    Bonjour,

    ma_page.php dans ton script, c'est à partir du répertoire courant à ce moment de l'exécution du script. Ce n'est pas nécessairement le même répertoire que celui auquel tu accèdes avec ma_page.php en HTTP.

    Jean-Luc
     
  5. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Mes 2 fichiers (page ma_page.php et script_css.php) ne sont pas dans le même répertoire.

    Ce que je pige pas c'est que je n'ai aucune erreur PHP lorsque je me connecte à ma_page.php (elle fonctionne et s'affiche parfaitement bien) comment se fait-il que les crawlers retournent un PHP Warning lorsqu'ils crawlent cette page ?
     
  6. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    Il ne faut pas accéder à ma_page.php mais à script_css.php.
     
  7. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    Ce que tu ne comprends pas, c'est qu'ils ne crawlent pas cette page. Ils crawlent script_css.php, et dans cette page, à la ligne 10, il doit y avoir quelquechose comme :
    Code:
    include ("ma_page.php");
    Un include, c'est sur le serveur que ça se passe. L'interpéteur poph va chercher le contenu du fichier include ("ma_page.php)" et le renvoie comme si c'était du contenu de la page "script_css.php". Donc l'appelant ne sait même pas que ma_page.php existe.

    L'interpréteur php essaye de charger ma_page.php mais, comme tu le dis toi même, elle n'est pas dans le meme répertoire, et ton interpéteur php ne la trouve pas.... Le message d'erreur, ce n'est pas Google ni MSN qui te l'envoie, c'est ton interpéteur php.
    Solution: tu remplaces dans l'include "ma_page.php" par le chemin complet de ma_page.php sur ton serveur.
    Ou, plus simple, tu mets ma_page.php dans le même répertoire que script_css.php... :lol:
     
  8. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Merci pour vos réponses.

    3 remarques :

    1) Mon site fait +/- 500 000 pages et tout mon site utilise la même architecture (include de pages php), quand GG crawle mon site il ne trouve pas d'erreurs include PHP pour 499 998 pages sauf pour ces 2 pages, je ne pense donc pas que le problème vienne de la ligne n° 10 dans mon fichier script_css.php sinon l'erreur se produirait sur toutes mes pages.

    2) quand j'accède à l'url de ma_page.php qui est en fait http://www.mon-site.com/ma-page.html (avec les url rewrittées) il n'y a aucune erreur PHP et la page s'affiche tout à fait normalement.

    3) le fichier script_css.php est le squelette de mon site et à l'intérieur de ce fichier il y a bien un include ("ma_page.php"); qui je le répète ne fait pas d'erreur lorsqu'on accède à l'url de cette page.

    J'utilise sur mon site les session PHP et les cookies et ces 2 pages sont accessibles que si certaines conditions sont respectées, on trouve donc ce style de code dans ma_page.php :
    Code:
    if(isset($_GET['id_membre']) && $_GET['id_membre']==$_COOKIE['id'])
    {
    // accès à la page
    }
    else
    {
    // sinon on renvoie vers la page pour entrer le login et le mot de page
    }
    
    Est-ce que les crawlers suivent les session PHP et les cookies lorsqu'il crawl nos sites ?
     
  9. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    regarde dans tes logs la vraie url demandée par googlebot à l'heure d'apparation du warning, cela peut-être une url du type mapage.html/untruc
     
  10. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 126
    J'aime reçus:
    318
    La belle faille que tu viens de nous montrer là :D
     
  11. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    J'ai vérifié dans mes logs et c'est bien la bonne url.

    Ou vois-tu une faille spout ? Le code que j'indique ci-dessus n'est pas complet, il y a d'autres vérifications qui sont faites dans le if :wink:
     
  12. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 126
    J'aime reçus:
    318
    script.php?id_membre=42 + un cookie "id" = 42 mis dans le browser, hop on est dans le 1° cas du "if".
     
  13. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Ouais je vois ce que tu veux dire, sauf que l'id_membre a +/- 20 caractères avec des chiffres et des lettres (majuscules et minuscules) et en plus il y a une vérification en base de données qui est faite : là tout d'un coup la faille devient moins "béante" :D
     
  14. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 126
    J'aime reçus:
    318
    OK parfait :)
     
  15. loubet
    loubet WRInaute impliqué
    Inscrit:
    19 Février 2003
    Messages:
    792
    J'aime reçus:
    0
    en étant membre du site, a-t-on accès aux id des autres membres ? si oui, alors, la faille est bien présente, vu que l'on peut être logué sous un autre compte valide que le sien.
     
  16. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Non bien sur il y a une vérification qui est faite en base de données.

    Pour revenir à mes erreurs PHP d'include avez-vous une idée pour résoudre ce problème ?

    N'existe pas un outil qui crawelerait de la même manière que Googlebot et qui me servirait à voir pourquoi ces 2 include de pages déconnent ?
     
  17. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 126
    J'aime reçus:
    318
    Tu px essayer de le résoudre en faisant un include avec le chemin absolu au lieu de relatif.
     
  18. poupilou
    poupilou WRInaute impliqué
    Inscrit:
    9 Février 2004
    Messages:
    860
    J'aime reçus:
    11
    Tu as raison spout je vais essayer le chemin absolu et voir ce que cela donne :wink:

    Il y a quand même un truc bizarre, c'est que Google référence bien dans les serps ces 2 pages alors qu'il n'arrive pas à les crawler.... je pige plus rien :(
     
  19. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    Je te repète que ma_page.php, ce n'est pas google qui n'arrive pas à y accèder, c'est script_css.php qui n'y arrive pas.

    Je suppose que tu as une page plus haut dans l'arborescence qui est celle réellement appelée par google.

    GG-->la vraie page appelée.php -->include('"script_css.php") --> include("ma_page.php")

    Parceque ma_page.php n'est pas dans les répertoire includes connus de php quand il arrive dans le script script_css.php, qui te sont donnés dans le message d'erreur (include_path='.:/usr/share/pear:/usr/share/php')
    Mets en une copie de ma_page.php dans un de ces répertoires et ça fonctionnera.
     
Chargement...
Similar Threads - PHP Warning incompréhensible Forum Date
Redirections .htm en .php URL Rewriting et .htaccess 16 Mars 2021
URL avec et sans .php Développement d'un site Web ou d'une appli mobile 14 Mars 2021
Astuce [PHP] Récolter ville, pays du visiteur Développement d'un site Web ou d'une appli mobile 9 Mars 2021
Quel script PHP conversion HTML -> JSON ? Développement d'un site Web ou d'une appli mobile 17 Février 2021
script PHP erreurs inexplicables. Développement d'un site Web ou d'une appli mobile 14 Février 2021
Demande d'aide php Développement d'un site Web ou d'une appli mobile 4 Février 2021
URL canonique et problème entre / et /index.php Débuter en référencement 20 Janvier 2021
refaire mon site html en PHP et garder un bon référencement Problèmes de référencement spécifiques à vos sites 17 Décembre 2020
[PHPWhois.fr] Vérifiez la disponibilité d'un nom de domaine Demandes d'avis et de conseils sur vos sites 10 Décembre 2020
Du php dans du javascript Développement d'un site Web ou d'une appli mobile 16 Novembre 2020