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 sur les redirections de pages profondes URL Rewriting et .htaccess 4 Décembre 2019
Problème de référencement et ajout sitemaps Problèmes de référencement spécifiques à vos sites 26 Novembre 2019
Problème affichage des derniers articles wordpress page accueil Administration d'un site Web 20 Novembre 2019
Gestion de cookies problème directives CNIL. Administration d'un site Web 15 Novembre 2019
Search Console URL exclues : comment résoudre le problème ? Problèmes de référencement spécifiques à vos sites 15 Novembre 2019
Search Console Premier référencement et problèmes Débuter en référencement 11 Novembre 2019
Test d'optimisation mobile : Problèmes de chargement de la page Débuter en référencement 10 Novembre 2019
Problème sur une source Referral Googleads.g.doubleclick.net Google Analytics 7 Novembre 2019
Problème suite à redirection 301 URL Rewriting et .htaccess 4 Novembre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice