2012-01-22 40 views
13

tôi đang cố gắng xây dựng một tập lệnh php để xử lý dữ liệu theo cách thủ công để sau đó chuyển đổi nó thành một cronjob. kịch bản này cũng nhận được dữ liệu từ mysql và xà phòng bên thứ 3. khi tôi cố gắng chạy nó từ dòng lệnh tôi có một lỗi và kịch bản không chạy.script dòng lệnh php không chạy

nó cho thấy:

./test.php: line 1: ?php: No such file or directory 
Enter a number: 
./test.php: line 5: syntax error near unexpected token `(' 
./test.php: line 5: `$line = trim(fgets(STDIN));' 

đây là những gì tôi có trong kịch bản của tôi:

echo 'Enter a number:'; 
    $line = trim(fgets(STDIN)); 
    var_dump($line); 

tôi biết kịch bản này hoạt động, những gì là sai?

Trả lời

18

Bạn gặp lỗi này vì bạn thực thi tập lệnh này như ./script.php. Để đảm bảo tập lệnh PHP hiểu và chạy đúng cách, bạn phải bao gồm #!/usr/bin/php ở đầu tập lệnh của mình.

Ví dụ:

#!/usr/bin/php 
<?php 
echo 'Enter a number:'; 
$line = trim(fgets(STDIN)); 
var_dump($line); 

nếu PHP được cài đặt trong thư mục/usr/bin, nếu không, bạn có thể xác minh bằng cách sử dụng lệnh locate php và sau đó sử dụng con đường đúng đắn.

hay thay thế khác sẽ

php /path/to/script.php

Các vấn đề liên quan