Originariamente inviato da apusoft
Salve a tutti,
vorrei creare un sistema di backup del mio database, quindi sto cercando di richiamare mysqldump via PHP.
Ho creato uno script contenente il codice
codice:
<?
$command='mysqldump -h localhost -u USERNAME -pPASSWORD DBNAME > database.sql';
system($command);
?>
Eseguendo lo script viene creato il file database.sql ma è vuoto, non contiene nulla.
Il mio hosting non è in safe_mode; non ho accesso shell diretto ma il gestore dell'hosting ha provato il comando via shell e sostiene che è corretto e funziona.
Sembra insomma che il problema si presenti solo se invocato via PHP.
Da cosa può dipendere? E come porvi rimedio?
Grazie mille
Potrebbe essere che i comandi shell di php siano stati inibiti? Oppure che effettivamente l'utente con cui gira il tuo webserver abbia la shell null o false...
Prova una cosina molto più semplice
Codice PHP:
echo '<pre>';
// Outputs all the result of shellcommand "ls", and returns
// the last output line into $last_line. Stores the return value
// of the shell command in $retval.
$last_line = system('ls', $retval);
// Printing additional info
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
e vedi cosa ti ritorna...