2010-06-17 4 views
1

Je suis n00b assez énorme quand il vient à LinuxLinux/PHP Question

exec ('whoami', $output, $return); 
echo $return; 

// Sorties 127 Ce qui signifie que la commande est en cours d'exécution. Je peux l'obtenir à exécuter quand je me suis enraciné dans le serveur.

Toute aide serait grandement appréciée!

+1

Quelle est votre question? –

+1

Quelle est la distribution? –

+0

Il veut que son 'exec ('whoami' ...' soit exécuté à chaque fois qu'il se connecte –

Répondre

1

Si vous essayez ceci:

<?php 
exec('whoami'); 
?>  

vous devriez être présenté avec le nom d'utilisateur de PHP .. Si vous essayez ceci:

<?php 
exec('whoami', $output, $return); 
print_r($output); 
?> 

vous devriez voir que la production $ est un tableau contenant quoi que ce soit la coquille sortie.

La valeur de retour, selon le PHP manual, "état de retour de la commande exécutée sera écrit dans cette variable." - Est-ce que c'est ce que tu veux?

+0

Ce dont j'ai vraiment besoin est d'exec pdftk, mais toute commande J'essaie d'exec en utilisant la fonction PHP exec() ne fonctionne pas Même si j'essaye exec ('whoami'), il retourne 127. Je pense que c'est lié à des permissions ou quelque chose, mais je n'ai aucune idée de comment ou quoi faire pour changer les autorisations pour obtenir ce corrigé – Gamak

+0

Je cours CentOS/Apache – Gamak

+0

Exécution: exec ('whoami', $ sortie, $ retour); print_r ($ outp Utah); echo $ return; Retourne ceci: Array() 127 – Gamak

-1

Pourquoi ne pas faire quelque chose comme:

<?php 

$var = `whoami`; 

echo $var; 

?> 
1

127 état de sortie est indicatif d'une commande manquante. Peut-être whoami n'est pas sur le système ou peut-être votre configuration de serveur Web vous a-t-il emprisonné d'une certaine façon ou vous êtes restreint via safe_mode/open_basedir.

Pour vérifier que vous pouvez essayer d'exécuter:

exec('which whoami', $output, $return); 
print_r($output); 
echo $return; 

Si vous êtes présenté avec un tableau vide et un code de retour de 0, l'exécutable whoami est actuellement inaccessible depuis votre serveur web/configuration de PHP.

Pour vérifier les paramètres safe_mode, open_basedir, appelez phpinfo.