PHP exec() non l'esecuzione di file batch
Domanda
Ho provato googling per questo problema e ha trovato molte persone con lo stesso problema, ma nessuna soluzione.
$result = exec("C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Qui result
è una stringa vuota e output
un array vuoto.Stessa cosa con:
$result = exec("cmd /c C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Sono sicuro che il percorso sia corretto;Sono sicuro exec() è attivata.
Ho provato exec
, shell_exec
, system
e nessuna funziona.
lessc è meno CSS.
MODIFICA
L'apache log di errore dice:
'"ruby.exe" " non è riconosciuto come un comando interno o esterno, utilizzabile programma o un file batch.
Soluzione
Ho trovato il problema;Ho installato ruby, appunto per questo, e aggiunto al mio PATH
variabile di ambiente, e ha iniziato subito a lavorare per il prompt dei comandi.
Tuttavia non lavoro per PHP, così ho deciso di riavviare il mio computer.Dopo di che ha funzionato.
Altri suggerimenti
Per prima chdir ( "C: \ Ruby191 \ bin \"), quindi eseguire lessc.bat
.