2013-08-14 32 views
17

Vì vậy, tôi có mã này và tôi chỉ đang cố gắng tạo danh sách các lưu trong thư mục khác, nơi tập lệnh php nằm trong thư mục xampp và lưu vào đường dẫn này /root/files/saves:shell_exec() trả về null trên "ls"

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

tôi không biết tại sao tôi không thể lấy nó làm việc trên một var_dump có vẻ như đầu ra là null tôi thực sự nhầm lẫn nó nên làm việc hoặc tôi chỉ nó tất cả các sai tôi cần một số giúp đỡ.

Trả lời

49

Thêm 2>&1 vào cuối lệnh shell của bạn để có STDERR được trả lại cũng như STDOUT.

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

Ngoài ra, nếu người dùng chạy PHP không có sự cho phép đủ để xem kết quả trong /root/, sau đó các mã trên sẽ trả về một thông điệp Permission denied lỗi.

Nguồn: http://php.net/manual/en/function.shell-exec.php#28994

+3

ahhhhhh thankcx you sir – Mokmeuh