2011-02-07 35 views
5

Tôi đang cố thiết lập một công việc cron rất đơn giản trên máy chủ web. Tôi có cron.php được thiết lập để chạy mỗi phút. Ngay bây giờ, cho mục đích thử nghiệm, cron.php chỉ đơn giản là thế này:Lỗi dòng PHP 1: `<?php ?> '

<?php ?>

Và bây giờ, mỗi phút, tôi nhận được email cron với các lỗi này:

//home/user/public_html/mysite/cron.php: line 1: syntax error near unexpected token newline

//home/user/public_html/mysite/cron.php: line 1: <?php ?>

Máy chủ này gặp khó khăn khi truy cập PHP từ dòng lệnh hay có vấn đề nào khác mà tôi không thấy?

Ngoài ra, tôi đã nhận lỗi kỳ lạ tương tự khi cố gắng thêm vào những thứ như echo "test"; hoặc thậm chí chỉ phpinfo();

Trả lời

9

Bạn không có dòng công việc, vì vậy nó đang cố gắng để thực thi kịch bản sử dụng vỏ mặc định.

Thêm #!/usr/bin/php (hoặc bất kỳ nơi nào PHP) vào đầu tập lệnh.

+0

Trường hợp này đi đâu? Ở đầu crontab? –

+0

OK, kết hợp câu trả lời của bạn với câu trả lời này và bắt đầu! http://stackoverflow.com/a/2689317/1242298 The shebang đã làm nó! Cảm ơn! –

+0

Greate. nó hoạt động tốt –

1

cho công việc cron bạn thường phải xác định thực thi trong dòng cmd /path/to/executable.php //path/to/file.php

môi trường có lẽ trả lại lỗi thẻ vì nó không biết php là gì hoặc phải làm gì với nó

1

Hãy thử thêm "#!/usr/bin/env php" làm dòng đầu tiên trong tệp .php của bạn. env sẽ tìm và khởi chạy php cho bạn. Hy vọng nó hoạt động.

+0

Hãy chắc chắn rằng bạn cũng sử dụng kết thúc dòng UNIX, nếu bạn đang chỉnh sửa tệp trong Windows – Antony

0

Có thể chuỗi chỉ có chút cũ nhưng tôi biết nó sẽ giúp ai đó. Tôi đã có những lỗi tương tự trên công việc cron sau đó tôi đã tạo cron như ai đó ghé thăm trang web của tôi, tôi đã thêm dòng này trong lệnh:

wget http://www.mywebsite.com/xml/Cron.php > /dev/null 

Thay đổi địa chỉ của webiste và đường dẫn đến kịch bản của bạn.

Liên quan, Ivan

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