Как я могу протестировать задание CRON с помощью PHP?
Вопрос
Это первый раз, когда я использую CRON.
Я использую его для анализа внешних данных, которые автоматически передаются по FTP в подкаталог нашего сайта.
Я создал контроллер и модель, которые обрабатывают данные.Я могу получить доступ к URL-адресу в своем браузере, и он работает (однако я скоро ограничу это).
Моя проблема в том, как я могу проверить, работает ли он?
Я добавил это в свой контроллер для быстрого и грязного журнала.
$file = 'test.txt';
$contents = '';
if (file_exists($file)) {
$contents = file_get_contents($file);
}
$contents .= date('m-d-Y') . ' --- ' . PHP_SAPI . "\n\n";
file_put_contents($file, $contents);
Но до сих пор из браузера регистрировались только мои запросы, несмотря на то, что мой CRON работал каждую минуту.
03-18-2010 --- cgi-fcgi
03-18-2010 --- cgi-fcgi
Я настроил его с помощью cPanel с помощью команды
index.php properties/update/
вторая часть — это то, что я использую для доступа к странице в своем браузере.
Итак, как я могу проверить, что это работает правильно, и не напутал ли я что-нибудь?
Примечание:Я использую Кохану 3.
Большое спасибо
Решение
Вы используете неправильную команду для вызова Коханы.
Убедитесь, что вы используете полный путь к index.php, чтобы исключить любые ошибки пути.Вот переключатели доступны для использования в Кохане:
- --ури:Самоочевидно
- --метод:Метод HTTP-запроса (POST, GET и т. д.) (переопределяет метод Kohana::$)
- --получать:Форматированные данные GET
- --почта:Форматированные данные POST
Вы должны использовать что-то вроде этого:
php /path/to/kohana/directory/index.php --uri=properties/update/
Я не помню, нужны ли вам двойные кавычки вокруг значения, не забудьте попробовать, если это не сработает.
Другие советы
вы, вероятно, не запускаете Cron с правами root для этого файла.
помещать mailto="youremail@yourdomain.tld"
в начале файла cron, чтобы он отправлял вам сообщение об ошибках.
Если у вас нет root-доступа к файлу cron (I.E.SSH) Я не знаю, сможете ли вы сделать это в cPanel.