Tôi có một kịch bản bash, mà tôi chạy như thế này thông qua dòng lệnh:Run Bash lệnh từ PHP
./script.sh var1 var2
Tôi cố gắng để thực hiện lệnh trên, sau khi tôi gọi một file php nào đó.
Những gì tôi có ngay bây giờ là:
$output = shell_exec("./script.sh var1 var2");
echo "<pre>$output</pre>";
Nhưng nó doesn't làm việc. Tôi đã thử nó bằng cách sử dụng exec
và system
quá, nhưng kịch bản không bao giờ được thực hiện.
Tuy nhiên khi tôi cố gắng chạy shell_exec("ls");
nó hoạt động và $output
là danh sách tất cả các tệp.
Tôi không chắc chắn điều này là do giới hạn của VPS tôi đang sử dụng hoặc nếu vấn đề ở một nơi khác?
Bạn đang chạy đường dẫn nào? 'pwd' return? – alex
Tập lệnh của bạn có thể thực thi bởi người dùng «apache' hoặc' www-data' không? – core1024
Đó có phải là tập lệnh bash trong cùng thư mục với tập lệnh PHP của bạn không? Thư mục làm việc của tập lệnh php có cùng thư mục không? –