2013-08-14 2 views
17

Quindi ho questo codice e sto solo cercando di creare un elenco dei salvataggi in un'altra directory in cui lo script php si trova nella cartella xampp ei salvataggi sono su questo percorso /root/files/saves:shell_exec() restituisce null su "ls"

<html> 
<body> 
<?php 
$output = shell_exec('ls /root/files/saves'); 
echo "<pre>$output</pre>"; 
?> 
</body> 
</html> 

non so perché non riesco a farlo funzionare su un var_dump sembra uscita è nullo sono davvero confuso dovrebbe funzionare o ho solo sbagliato tutto ho bisogno di aiuto.

risposta

49

Aggiungere 2>&1 alla fine del comando shell per restituire STDERR e STDOUT.

$output = shell_exec("ls /root/files/saves 2>&1"); 

Inoltre, se l'utente che esegue PHP non dispone delle autorizzazioni sufficienti per visualizzare l'output in /root/, quindi il codice precedente restituirà un messaggio di errore di Permission denied.

Fonte: http://php.net/manual/en/function.shell-exec.php#28994

+3

ahhhhhh thankcx you sir – Mokmeuh