Come dicevo su altro post, le cron tab sono una cosa di sistema operativo non di apache.
Qundi quando lanci uno script da cron tab tutti i percorsi e le inclusioni li devi gestire a partire dal percorso stesso dello script.
se hai una struttura tipo
root
|
+--> dir_1
|
\--> dir_2
|
\--> dir_2-1
e il tuo file si trova in "dir_2-1" per includere un file che trovi in "dir_1" o usi un path relativo tipo
"../../dir_1/" oppure devi navigare il path con un percorso assoluto e l'include sara'una cosa del tipo include("/dir_1/file.php") ;
il carattere / fa partire dalla root.
il Problema pero' e' che se la root vista dal parser in quel momento non e' la document root di apache ma la root di sistema. Quindi hai 2 possibili soluzioni, 1 conoscere il perorso su disco del file ( fai un getcwd() e vedi subito ) oppure farti una procedura che naviga il path fino alla dir che ti serve tipo :
Codice PHP:
function navigatePath ( $target )
{
$path = getcwd();
$path = str_replace( "\\\\" , "/" , $path) ;
$tokens = explode("/" , $path) ;
$i=0;
for ( $i=0 ; $i<count($tokens) ; $i++ )
{
$t = $tokens[$i] ;
if( $t == $target )
{
break;
}
}
if( $i>=count($tokens) )
return false;
$out = "" ;
for ( $j=0 ; $j<$i ; $j++ )
$out .= $tokens[$j]."/" ;
return $out ;
}
Ovviamente e' la prima soluzione che mi e' venuta in mente e il codice e' scritto di getto spero ti possa essere utile.
P.S.
Non si puo' sistemare sul forum il parsing del carattere \ nei listati php ????
E' abbastanza frustrante che ogni volta che metto il carattere \ viene visto come carattere di escape e non viene stampato. inoltre si puo' disabilitare il caricamento delle emoticons nei listati php????