Ich benutze XAMPP auf einem Windows Server (nicht mehr im Büro, wird morgen die exakte Version hinzufügen).Warum schlägt exec() mit leeren Nachrichtenzeichenfolgen fehl?
Heute bin ich über dieses seltsame Verhalten gestolpert: Bei der Verwendung von exec()
zum Ausführen von Programmen funktionieren einige Befehle, andere scheitern ohne Angabe von Gründen.
//working
exec("dir", $output, $retval);
//$retval = 0;
//$output = array with response-lines
Es scheint, als auch mit meinem wkhtmltopdf.exe zu arbeiten:
//working as well
exec("C:\some_path\wkhtmltopdf.exe --help", $output, $retval);
//$retval = 0;
//$output = array with lines from the help-file
aber sobald es etwas komplizierter wird, ist es nicht:
//not working
exec("C:\some_path\wkhtmltopdf.exe C:\other_path\test.html C:\target_path\test.pdf", $output, $retval);
//$retval = 1;
//$output = array with 11 empty strings ?!?!
Wenn ich die exakt gleiche Zeichenfolge an die Server-Maschine wi th rdp, und verwenden Sie es in der Windows-Shell (cmd), es funktioniert.
Ich habe keine Ahnung, was vor sich geht - es ist sehr seltsam, dass ich ein Array mit 11 leeren Strings zurückbekomme.
danke für jede Hilfe oder Tipps!
Jeder Rückgabewert ('$ retval'), der ungleich 0 ist, sollte als Fehler betrachtet werden. –
@CharlotteDunois ja ich weiß. und ich weiß, dass ich einen Fehler habe - aber ich habe keine Ahnung, welchen Fehler ich habe - das ist das Problem. –