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 organisation Array Développement d'un site Web ou d'une appli mobile Hier à 21:25
Problème migration site vistaprint vers wordpress.com Débuter en référencement 3 Juillet 2020
Problème e-commerce sur GA/GTM Google Analytics 18 Juin 2020
Problème de pages exclues Crawl et indexation Google, sitemaps 10 Juin 2020
Site E-Commerce : Problème Page De Collection Problèmes de référencement spécifiques à vos sites 5 Juin 2020
Problème de coupure en hebergement mutualisé Demandes d'avis et de conseils sur vos sites 30 Mai 2020
Problème htaccess Développement d'un site Web ou d'une appli mobile 26 Mai 2020
Search Console Problème indexation très faible Crawl et indexation Google, sitemaps 19 Mai 2020
Problème de preg_match(). Développement d'un site Web ou d'une appli mobile 15 Mai 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice