Ich versuche, PHP eine Batch-Datei aufrufen, die eine RTF-Datei und konvertiert sie in eine PDF mit einem OpenOffice-Makro. Ich habe die Batch-Datei in der Befehlszeile getestet und es funktioniert gut, aber ich habe kein Glück, die gleiche Batch-Datei von PHP aufrufen und verwenden.Problem mit PHP-Exec-Befehl zum Ausführen einer Batch-Datei
Meine Maschine OS ist XP Professional SP 3. Ich verwende IIS 6 und PHP Version 5.2.9. Ich habe Ausführungsberechtigungen für den Internetbenutzer unter c: \ windows \ system32 \ cmd.exe erteilt. Ich habe den vollständigen Pfad zu der Batch-Datei angegeben, die ausgeführt wird, und den vollständigen Pfad zur RTF-Datei, die konvertiert werden soll.
Die PHP sieht wie folgt aus, wo $ arg die RTF konvertiert werden soll:
$arg = "C:\\web_root\\whatever\\tempOutput.rtf";
$command = "c:\\windows\\system32\\cmd.exe /c c:\\web_root\\whatever\\convert.bat $arg";
dann in einem Try-Catch ich den Befehl exec aufrufen:
exec("$command 2>&1 && exit", $ret, $err);
I echo die Ergebnisse nach der Haken:
echo "ret: ";
print_r ($ret);
print "<br>";
echo "err is ";
echo $err;
print "<br>";
echo "DONE!";
Und das ist, was ich sehe:
ret: Array ()
err is 0
DONE!
Die RTF-Datei wird nicht konvertiert und ich sehe die Fehler nicht. Irgendwelche Ideen, was ich als nächstes versuchen kann? Vielen Dank!!!
Können Sie Ihre Stapeldatei auflisten? – cdonner
Verwandte, [Wie führen Sie eine .bat-Datei von PHP?] (Http://stackoverflow.com/q/835941) – jww