1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

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 239
    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 779
    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 779
    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:
    728
    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 779
    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 779
    J'aime reçus:
    0
    Double post pour dire Joyeux Noel en passant ;)
     
  11. seebz
    seebz WRInaute impliqué
    Inscrit:
    15 Avril 2007
    Messages:
    728
    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 déclencheur avec une balise GTM Google Analytics Lundi à 15:45
probleme de redirection 301 certbot Administration d'un site Web Dimanche à 11:18
Problème avec Letsencrypt Administration d'un site Web 11 Janvier 2020
Problème avec les données démographiques dans Google Analytics Google Analytics 11 Janvier 2020
Astuce Problème avec Screaming Frog Problèmes de référencement spécifiques à vos sites 5 Janvier 2020
Problème rediretion https avec les www URL Rewriting et .htaccess 29 Décembre 2019
WordPress Problème référencement depuis passage Joomla sur Wordpress Problèmes de référencement spécifiques à vos sites 19 Décembre 2019
Problème de référencement site internet Problèmes de référencement spécifiques à vos sites 17 Décembre 2019
Problème sur les redirections de pages profondes URL Rewriting et .htaccess 4 Décembre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice