Nachdem ich nun Stunden probiert und gegoogelt habe, möchte ich hier mein Problem schildern.
Auf meinem Windows XP Notebook läuft ein xampp, auf dem lokalen Webserver eine MySQL Anwendung. Ich möchte die DB per Script einfach sichern auch in einem Verzeichnis unterhalb der htdocs. MySQL Dumper fällt aus, weil diese Prozedur zu bestimmten Zeiten automatisch laufen soll.
Nach ...zig Probiere-Varianten und Null Erfolg mit einer direkten PHP-Variante habe ich eine kleibe Batch-Datei geschrieben, welche die DB einwandfrei sichert (10MB).
Nun möchte ich mittels PHP diese Batch-Datei anschubsen, was aber nicht funktioniert.
Hier die backup.bat:
----------------------------
@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
FOR /F "tokens=1,2,3 delims=/: " %%a in ('Time/T') do set CTIME=%%a%%b%%c
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
echo + +
echo + Kopie der Datenbank m001 wird erstellt am %tag%-%monat%-%jahr% - %CTIME% +
echo + +
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C:\xampp\mysql\bin\mysqldump -uroot -p db_edoxadress > C:\xampp\htdocs\backup\sichern_%jahr%-%monat%-%tag%_%CTIME%.sql
----------------------------------------------------------------
Soweit funktioniert diese ja auch mit Doppelklick. Jetzt das derzeitige PHP-Script:
-------
error_reporting(E_ALL);
$batch = 'C:\xampp\htdocs\backup\backup.bat'; //-- dort liegt die Batch-Datei
$res = exec("C:\\Windows\\system32\\cmd.exe /c \"$batch\"", $_output, $error);
echo "
\r\n";
echo "Result: $res \r\n";
echo "Error: $error \r\n";
foreach ($_output as $line)
{
echo htmlspecialchars($line)."\r\n";
}
echo "
\r\n";
----------------------------------------
Der Browser rödelt und rödelt....
Wenn ich statt der backup.bat z.B. notepad.exe eingebe, startet Notepad. Warum kann mein PHP diese Batch-Datei nicht starten ? Ich arbeite mit vollen Rechten, habe der .bat auch schon alles gegeben.
Was ist die Ursache? Denkfehler ? Danke für wertvolle Tipps! SG uspc