Web4Web.IT - Community Forums
Problema con RSS - Versione stampabile

+- Web4Web.IT - Community Forums (https://www.web4web.it/forum)
+-- Forum: Supporto Tecnico (/forum-21.html)
+--- Forum: Programmazione & Design (/forum-23.html)
+---- Forum: PHP (/forum-24.html)
+---- Discussione: Problema con RSS (/thread-503.html)

1 2


Problema con RSS - Elisabetta - 10-10-2011 16:07

Da qualche tempo (indefinito) non mi funzionano gli RSS dei blog.
Sia le versioni 0.9, 1.0, 2.0 che atom e xml
Disconosco le cause.

Premetto che:
- non ho apportato modifiche
- tutti i blog utilizzano gli stessi files rss.template.php

Detti questo, prendo un blog a caso:
- http://www.occhiettineri.it/blog/theblog

clicco (nel menù sinistra in basso) l'RSS 2.0:
-> mi compare questo errore:
Codice:
Errore interpretazione XML: contenuto illegale dopo l'elemento
Indirizzo: http://www.occhiettineri.it/blog/rss.php?blogId=1&profile=rss20
Linea numero 2, colonna 1:<b>Warning</b>:  is_readable() [<a href='function.is-readable'>function.is-readable</a>]: open_basedir restriction in effect. File(./rss/rss20.template) is not within the allowed path(s): (/home/w56063/) in <b>/home/w56063/domains/occhiettineri.it/public_html/blog/class/file/file.class.php</b> on line <b>208</b><br />
^

A questo punto vado a vedere ocsa dice il file /rss/rss20.template

Codice:
<?xml version="1.0" encoding="{$locale->getCharset()}"?>
<?xml-stylesheet href="{$url->getUrl("/styles/rss.css")}" type="text/css"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
  <atom:link href="{$url->rssLink("rss20")}" rel="self" type="application/rss+xml" />
  <title>{$blog->getBlog()|escape:hexentity}</title>
  <link>{$url->blogLink()}</link>
  <description>{$blog->getAbout()|strip_tags}</description>
  <pubDate>{$locale->formatDateAsRFC822($now)}</pubDate>
  <generator>http://lifetype.net</generator>
  {foreach from=$posts item=post}
  <item>
   <title>{$post->getTopic()|escape:hexentity}</title>
   <description>
    {$post->getText()|escape}
   </description>
   <link>{$url->postPermalink($post)}</link>
   <comments>{$url->postPermalink($post)}</comments>
   <guid>{$url->postPermalink($post)}</guid>
   {assign var="postOwner" value=$post->getUserInfo()}
   <dc:creator>{$postOwner->getUsername()|escape}</dc:creator>
   {foreach from=$post->getCategories() item=category}  
    <category>{$category->getName()|escape}</category>
   {/foreach}
   {assign var="postDate" value=$post->getDateObject()}
   <pubDate>{$locale->formatDateAsRFC822($postDate, $blog)}</pubDate>
   <source url="{$url->rssLink("rss20")}">{$blog->getBlog()|escape}</source>
   {foreach from=$post->getArticleResources() item=resource}
    {** please uncomment the line below if you'd like to server everything but images, instead of
        only audio and video **}
    {** if !$resource->isImage() **}
    {if $resource->isSound() || $resource->isVideo()}
     <enclosure type="{$resource->getMimeType()}" length="{$resource->getFileSize()}" url="{$url->resourceDownloadLink($resource)}" />
    {/if}
   {/foreach}
  </item>
  {/foreach}
</channel>
</rss>

E' idendico all'originale (per sicurezza l'ho sovrascritto con una versione appena scaricata).

Quindi vado alla linea 208 del file file.class.php e trovo:
Codice:
201           function isReadable( $file = null )
202          {
203              if( $file == null )
204                  $file = $this->_fileName;
205                 
206             clearstatcache();
207             
208              return is_readable( $file );
209          }

ho numerato le righe per individuare il presunto errore.

Bene. A questo punto io non riesco ad andare avanti.
Credevo in un errore di battitura, qualcosa rimasta lì per sbaglio, ma a questo punto è un errore di programmazione... che però come al solito "prima funzionava e adesso no". Le classiche cose "inspiegabili".

Dove posso andare ad indagare?

Grazie mille.


RE: Problema con RSS - Gandalf - 10-10-2011 16:14

L'errore è facile da spiegare: lo script degli RSS cerca di accedere fuori da /home/w56063/ che corrisponde alla directory del tuo piano hosting.

Il perchè si presenti questo errore, non conoscendo il codice, non sono in grado di dirlo.

Lui cerca di leggere questo file: ./rss/rss20.template
ma bisogna vedere da quale directory cerca di leggerlo, perchè sembrerebbe stia cercando di uscire dal tuo piano hosting.

E' un file temporaneo per caso?


RE: Problema con RSS - Elisabetta - 10-10-2011 16:27

Si, dovrebbe usare un file temporaneo, ma ho appena controllato (per questo ho impiegato molto nella risposta) e nel file config avevamo impostato:
define(WEB4WEB_TMP_DIR, '/home/w56063/tmp');

...sostituendo nei dovuti files il nuovo parametro.

Tu pensi che me ne sia sfuggito qualcuno?


RE: Problema con RSS - Gandalf - 10-10-2011 16:31

Quale nuovo parametro?
Ricordo di aver visto una modifica del genere, ma non capisco il nesso con il problema. Avevi modificato il codice degli RSS ?


RE: Problema con RSS - Elisabetta - 10-10-2011 16:34

Avevo il problema che la CSM del blog utilizzava la cartella TMP del server e dopo la modifica che avete apportato (ognuno la propria /tmp ) abbiamo corretto questo errore con il parametro
define(WEB4WEB_TMP_DIR, '/home/w56063/tmp');
nel file config generale.
E poi ho sostituito "ovunque" tmp_dir con web4web_tmp_dir


RE: Problema con RSS - Gandalf - 10-10-2011 23:35

Ok, si, mi ricordo.
ma con questa modifica continua a non funzionare?


RE: Problema con RSS - Elisabetta - 11-10-2011 15:55

i blog, l'upload dei files e il resto funziona.
Rimane l'RSS (forse non l'avevo testato..)

Ho capito, devo scoprire in quale files c'è ancora un vecchio comando
./tmp
invece che il nuovo path...

Dodgy


RE: Problema con RSS - Pirosauro - 11-10-2011 18:40

ci vorrebbe un bel backtrace per capire chi richiama isReadable() e cosa passa...


RE: Problema con RSS - Elisabetta - 11-10-2011 18:51

La cosa si fa interessante.
Grazie per l'intervento, Piro.

..e per lanciare un bel "backtrace" cosa ci vuole?


RE: Problema con RSS - Gandalf - 11-10-2011 23:29

http://php.net/manual/en/function.debug-backtrace.php