2014-06-05 4 views
0

Я знаю, что этот вопрос задавали много раз, но большинство ответов на самом деле не очень полезно.Cronjob не работает

Так что я отредактировал crontab с crontab -e. Он был пуст, и я добавил только одну строку:

*/1 * * * * php5 /var/www/cron.php, который, я думаю, будет выполнять cron.php каждые 1 минуту. Я сохранил файл, но это явно не выполняется (в моем файл PHP У меня есть только

<? 
$file = 'test.txt'; 
file_put_contents($file, "Work"); 

и не создан. Я посмотрел и модифицирован разрешение на cron.php до 777. Php устанавливается как апач модуля .

что беспокоит меня то, что, когда я делаю php5 /var/www/cron.php из командной строки, я просто просмотреть содержимое файла и не выполняется.

что я делаю неправильно?

Я также попытался использовать полный путь с */1 * * * * /usr/bin/php5 /var/www/cron.php, но lso без везения.

+0

Try, чтобы обеспечить полный путь, а не только имя файла , – alfasin

+0

К человеку, который собирается его закрыть. Это не ошибка. Это тот случай, когда человек не знает, что файлы конфигурации отличаются для Apache, запущенного как CLI, и как модуль Apache. –

ответ

4

Первая строка сценария должна быть:

<?php 

Вы можете иметь короткие теги включены в конфигурации Apache PHP, но не конфигурации CLI PHP.

+0

Вы правы, но я не думаю, что это проблема, потому что он может запустить ее вручную. Я считаю, что файл создается - только не в папке, которую он ожидает ... – alfasin

+1

Он говорит, что он не может запустить его вручную. Когда он пытается запустить его вручную, он выводит исходный код сценария, он не запускает его. – Barmar

+0

Вы абсолютно правы. Спасибо. Я не знал, что CLI и Apache имеют разные конфигурации. Спасибо. –

0
  • Попробуйте использовать полный путь к PHP (например,/USR/местные/бен/PHP)
  • Попробуйте использовать <?php вместо <?
Смежные вопросы