2016-10-20 2 views
2

J'espère que quelqu'un peut me aider je donne les résultats suivants en cours d'exécution dans un fichier PHPcheck PHP javac

var_dump(exec('command -v javac'))

J'ai aussi essayé

exec('command -v javac', $output); echo $output;

Tous retour cependant "" cours d'exécution le même command -v javac sur la CLI de Linux me donne ce que je cherche. Est-ce que quelqu'un peut penser à une raison pour laquelle cela se produirait?

Par exemple, j'ai également utilisé exec('whoami', $output); qui renvoie le propriétaire du processus apache pour que exec fonctionne correctement.

+0

@FranzGleichmann Désolé j'utilise en fait 'var_dump' que je suis débogage plus long' exec ('-v javac>/dev/null 2> & 1 && echo 1 || echo 0'); ' Qui revenait avec 0 –

Répondre

0

Utilisez ceci:

exec('command -v javac', $output); 

sortie $ enregistre la sortie de exec. Exec peut être désactivé sur l'hôte pour des raisons de sécurité et c'est l'autre raison pour laquelle il renvoie une chaîne vide.

+0

Essayé et revenant encore vide. –

+0

Etes-vous sûr que exec et shell_exec sont activés sur votre hôte? Parfois, ils sont désactivés pour des raisons de sécurité. – krasipenkov

+0

J'ai aussi exécuté 'exec ('whoami', $ output);' qui m'a donné le nom d'hôte du serveur alors oui il semble qu'il est activé. –