2017-03-14 2 views
0

Ich habe den folgenden PHP-Code:php exec kann nicht Java JVM DLL finden, obwohl die angeforderte Pfad korrekt ist

$compileCSS = "C:\ApacheFlexSDK\bin\mxmlc.exe 
C:\inetpub\utils\css\\". $_POST['cssFileName'] . ".css" . " 2>&1"; 
exec ($compileCSS, $output); 
// uncomment to see the response to command 
print_r($output); 

Es führt einen Befehl wie:

C:\ApacheFlexSDK\bin\mxmlc.exe 
    C:\inetpub\utils\css\sample.css 2>&1 

Wenn ich das ausführe, erhalte ich den folgenden Fehler:

Array ([0] => Error loading: C:\Program Files (x86)\Java\jre1.8.0_121\bin\client\jvm.dll) 

C:\Program Files (x86)\Java\jre1.8.0_121\bin\client\jvm.dll ist korrekt und es gibt eine jvm.dll hier.

Wenn ich den Befehl direkt von der Befehlszeile ausführen, funktioniert es gut, d. H. Eine SWF-Datei (mxmlc ist der Apache Flex Compiler).

Kann nicht finden, wie man das löst, bitte helfen.

Antwort

0

Sie haben entweder die Anwendung mit Pfad oder die params auf die Anwendung in doppelte Anführungszeichen wickeln, wenn sie Räume haben:

$cmd = 'targetapp.exe "C:\my other path with spaces\targetfile.xxx"'; 
exec($cmd); 


$cmd = '"C:\my path with spaces\targetapp.exe" C:\mypathnospaces\targetfile.xxx'; 
exec($cmd); 
Verwandte Themen