Problème doctype flux RSS

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par yann123, 24 Décembre 2009.

  1. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Bonjour,

    Je viens de créer mon premier flux RSS.
    Il est créé en php avec une mise en cache.
    En local avec wamp tout marche bien.

    Par contre en production, j'ai un bug:
    La première fois que j'ouvre mon flux, il s'affiche correctement et crée le cache (normal).
    Par contre quand je l'ouvre une deuxième fois, il va chercher le cache et m'affiche ce message d'erreur "Parse error: syntax error, unexpected T_STRING in ******* on line 1"
    La ligne 1 contient:

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    Je la crée tout simplement comme ceci:

    Code:
    echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
    Je ne vois pas ce qui ne va pas.
    Si j'enlève cette ligne, il ouvre le cache et affiche le flux correctement.

    Qu'est ce qui ne va pas dans cette ligne?

    Merci d'avance.
     
  2. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Salut,
    Essaye comme ça :
    Code:
    echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
     
  3. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Ton fichier commence bien par
    Code:
    <?php
    ? Car si c'est la ligne un il manque quelque chose et dans le cas où tu aurais short tag sur ON, la première occurrence de <? serait ton xml.
     
  4. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Merci, mais ça ne change rien.
    Le premier affichage fonctionne et ensuite quand il va chercher le cache ça marche plus.
     
  5. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Mon fichier php commence bien par:
    Code:
    <?php
    Mais je ne pense pas que cela vienne de mon php, puisqu'au premier lancement ca marche.
    C'est quand il va chercher le cache qu'il plante.

    Mon cache commence comme cela:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
      <rss version="2.0">
       <channel>
    
    Cela me parait bon, non ?
     
  6. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Cela me parait bon, ton cache doit alors être "mal" récupéré, sans ton code de cache, je ne peux pas t'en dire plus.
     
  7. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    722
    J'aime reçus:
    0
    Essaye avec readfile() ou file_get_contents() plutot que include()
     
  8. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Voici une partie du code php qui crée le flux et la mise en cache:
    Code:
    <?php
    //Debut de la mise en cache
    $urldemandee=$_SERVER['REQUEST_URI'];
    $urldemandee = ereg_replace('/','-',$urldemandee);
    if($urldemandee=="-") $urldemandee="index.html";
    $fichierCache="cache/".$urldemandee;
    if (@filemtime($fichierCache)<time()-(3600*24*1)) {
       ob_start();
    //Fin du debut du cache
    
    echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
    echo '<rss version="2.0">'."\n";
        echo '<channel>'."\n";
        .......
        .......
         ect
    
    
    //Fin du cache
    $contenuCache = ob_get_contents();
       ob_end_flush();
       $fd = fopen("$fichierCache", "w");
       if ($fd) {
    	  fwrite($fd,$contenuCache);
    	  fclose($fd);
    	 }
    } else {
      include ($fichierCache);
    }
    ?>
    
    Voyez-vous quelque chose d'anormal ?
    Ma mise en cache fonctionne bien pour tous le reste du site.
    Ce qui est bizarre c'est que pour le rss ca marche bien sous wamp et pas en production!
     
  9. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24*1)) {
       ob_start();
    //Fin du debut du cache
    
    echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
    Voilà à rempalcer par :
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24*1)) {
       ob_start();
    }
    //Fin du debut du cache
    
    echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
     
  10. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 774
    J'aime reçus:
    0
    Double post pour dire Joyeux Noel en passant ;)
     
  11. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    722
    J'aime reçus:
    0
    :roll:
     
  12. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Ben non, Cette condition doit-être fermé aprés création du cache donc à la fin.
     
  13. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    Joyeuses fêtes de fin d'années à vous tous également.
     
  14. yann123
    yann123 WRInaute discret
    Inscrit:
    11 Avril 2005
    Messages:
    128
    J'aime reçus:
    0
    [Résolu]: Problème doctype flux RSS.

    Avec file_get_contents() j'obtiens une page blanche.
    Avec readfile() ça marche nickel en local comme en production.
    Merci à tous pour vos réponses.
     
  15. Kolibot
    Kolibot Nouveau WRInaute
    Inscrit:
    11 Juin 2009
    Messages:
    15
    J'aime reçus:
    0
    N'oublie pas :

    if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==false){
    header('Content-Type:text/xml');
    }else{
    header('Content-Type:application/rss+xml');
    }

    Si tu veux que ça soit parfait :D
     
Chargement...
Similar Threads - Problème doctype flux Forum Date
Doctype et Firefox : problème Débuter en référencement 9 Juin 2010
Problème de doctype, qui peut m'aider ? Problèmes de référencement spécifiques à vos sites 15 Mai 2008
Editeur de texte javascript : Problème doctype Développement d'un site Web ou d'une appli mobile 22 Décembre 2005
problème de redirection non souhaitée Administration d'un site Web 28 Avril 2022
Problème d'indexation Produits Prestashop Crawl et indexation Google, sitemaps 28 Avril 2022
Problème d'affichage des campagnes Google Ads dans un tableau de bord Data Studio AdWords 26 Avril 2022
Problème de vitesse d'affichage des pages sur Analytics Google Analytics 26 Avril 2022
Problème : Google Crawl et Index des pages en No Index et bloqué par le robot.txt Crawl et indexation Google, sitemaps 26 Avril 2022
Problème avec GA4 : nb de visiteurs temps réel et par jour Google Analytics 19 Avril 2022
Problème indexation pages précises en React.js Débuter en référencement 19 Avril 2022
Problème de référencement Demandes d'avis et de conseils sur vos sites 8 Avril 2022
Problème adsence : Annonces ne s'affichent plus AdSense 10 Mars 2022
problèmes procédures stockées Administration d'un site Web 9 Mars 2022
Problème récupération fichier vps Développement d'un site Web ou d'une appli mobile 5 Mars 2022
Problème config postfix. Administration d'un site Web 5 Mars 2022
Search Console Problème d'indexation Crawl et indexation Google, sitemaps 24 Février 2022
Problème d'url canonique Problèmes de référencement spécifiques à vos sites 22 Février 2022
Problème indexation car élément "url" manquant sur logo Crawl et indexation Google, sitemaps 11 Février 2022
Problème avec un menu en ajax via jquery Problèmes de référencement spécifiques à vos sites 6 Février 2022
Problème url rewriting et redirection URL Rewriting et .htaccess 4 Février 2022