PHP exec () ne pas exécuter des fichiers batch
Question
J'ai essayé googler cette question et a trouvé beaucoup de gens avec le même problème, mais pas de solution.
$result = exec("C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Ici result
est une chaîne vide et output
un tableau vide. Même chose avec:
$result = exec("cmd /c C:\\Ruby191\\bin\\lessc.bat less\\$file", $output);
Je suis sûr que le chemin est correct; Je suis sûr exec () est activée.
J'ai essayé exec
, shell_exec
, system
et travail none.
moins CSS.
EDIT
Le journal d'erreur apache dit:
est pas « « ruby.exe » » reconnu comme commande interne ou externe, être mis en oeuvre fichier de programme ou d'un lot.
La solution
J'ai trouvé le problème; J'ai installé rubis juste pour cela et a ajouté à ma variable d'environnement PATH
, et il a commencé à travailler immédiatement pour les invites de commande.
Cependant, il ne fonctionne pas pour PHP, donc je décide de redémarrer mon ordinateur. Après cela, il a travaillé.
Autres conseils
Première chdir ( "C: \ Ruby191 \ bin \")., Puis exécutez lessc.bat