Hallo,
ich hab an dem Windowsrechner mit safe_mode=off erreicht, dass es nun funktioniert.
Ich wollte zwar den safe_mode nicht abschalten aber die Sache mit dem safe_mode_exec_dir funktionierte leider nicht.
Ich habe dort das Verzeichnis c:/mysql/bin angegeben. Trotzdem wollte er die mysqldump.exe nicht ausführen.
Mit deaktiviertem safe_mode funktioniert es nun.
Auf dem Linux-Server hilft leider auch das nichts. Das error_log sagt weiterhin
Zitat:
|
sh: line 1: /home/www/empty/mysqldump: Permission denied
|
Wieso er auf diesen Pfad kommt, kann ich mir nicht erklären. Hat hier jemand einen Tipp für mich ?
system() gibt übrigens den Wert 126 zurück. Gibt es hier irgendeine Tabelle bei der man nachlesen kann, was ihm weh tut ? Wobei ich vermute, dass das auch nur dem entspricht was im error_log steht.
Hier nochmal der aktuelle Code:
Code:
/* $sicpfad=$MySQL_SiCoPfad.date(YmdHis);*/
$sicpfad=$MySQL_SiCoPfad."back";
if (!is_dir($sicpfad))
{
mkdir($sicpfad, 0777);
}
else
{
echo "Verzeichnis existiert schon !
";
}
// Datenbank Backup erstellen
/* $befehl='/usr/bin/mysqldump -A > '.$sicpfad.'/fwsdump.sql'; */
$befehl='/usr/bin/mysqldump -u'.$MySQL_User.' -p'.$MySQL_Passw.' -h localhost fws > '.$sicpfad.'/fwsdump.sql';
echo "Befehl: ".$befehl."
";
system($befehl,$fp1);
if ($fp1 != 0)
{
echo "Datenbank konnte nicht exportiert werden $fp1";
}
Das Verzeichnis wird dann korrekt angelegt:
Zitat:
|
drwxr-xr-x 2 wwwrun www 4096 Aug 24 09:44 back
|
Mit welchen Ausführungsrechten führt PHP externe Programme aus ? Liegt es vielleicht daran ?
Vielen Dank,
Markus Haupt