Получение ошибки задания cron из-за тега <? Php

Я создал задание cron для запуска. Он выполняет php-файл, который называется cronj.php. Но он не работает, и уведомление о работе cron я получаю:

/root/website/myworld/blabla/cronj.php: line 1: ?php: No such file or directory 

И строка 1 в этом файле – это просто php-тег <?php Я не знаю, как

Cron выполняет файл, как если бы он был сценарием оболочки. Обычно вы вставляете строку shebang (например, #!/usr/bin/env php ) в верхней части файла, чтобы оболочка знала, как ее вызывать, но PHP не нравится – поскольку она выводит все за пределы ее теги. Таким образом, вместо этого:

 0 3 * * * /mypath/myscript.php ... 

попробуй это:

 0 3 * * * /usr/bin/env php /mypath/myscript.php ... 

или используйте трюк @ Ravenex.

EDIT Я был справедливо предупрежден, предполагая, что PHP ведет себя последовательно. Видимо, shebang работает в PHP. Приношу свои извинения @ chess007.

Мы используем cron для запуска ночных заданий в php facebook. Мы делаем это, используя завиток:

 /usr/bin/curl http://www.ourdomain.com/page.php 

Если я правильно помню, у нас были проблемы с использованием localhost, чтобы избежать внешних запросов. Также мы попытались использовать выполнение командной строки php, которое в основном работало, но вызвало несколько странных ошибок.

Попробуйте вызвать веб-адрес (http: // …..).

По-видимому, он не анализирует его как скрипт PHP.

Изменить: Пожалуйста, используйте используемую вами cronjob, чтобы убедиться, что моя догадка правильная.

Используйте это, чтобы установить свой cron, а также указать адрес электронной почты в настройке cron Cron, чтобы вы получили электронное письмо, когда cron успешно работает

wget -O – http: //YOURSITE/cron.php