#php #cron
#php #cron
Вопрос:
Это мой код. Имя файла test_cron.php (внутри папки crtest). Команда Cron: /usr/local/bin/php -q /home/portroot/public_html/crtest/test_cron.php
Он должен запускаться на сервере каждую минуту. Он должен генерировать текстовые файлы каждую минуту. Но ничего не происходит. Я также указал адрес электронной почты. Но я не получил никакого электронного письма. Пожалуйста, помогите мне исправить это.
<?php
//Cron command: /usr/local/bin/php -q /home/portroot/public_html/crtest/test_cron.php
$filename = "./public_html/crtest".time().".txt";
$handle = fopen($filename,'w') or die("Cannot open file");
for($i=0;$i<10;$i )
{
$con = "Hello world n";
fwrite($handle,$con);
}
fclose($handle);
?>
Ответ №1:
вам нужно выполнить 2 разных теста :
- проверьте ваш скрипт без использования Cron, запустив его в браузере, и проверьте, получаете ли вы желаемый результат.
- проверьте ur Cron с помощью очень примерного скрипта, такого как запрос insert, чтобы ввести некоторые данные в базу данных ur.
Тогда вы можете найти проблему.
Ответ №2:
Пожалуйста, выполните следующий шаг, чтобы проверить свой код и настроить cron на сервере:
1. Сначала проверьте, успешно ли ваш код выполняется в вашей локальной системе или нет.
2. Если вам нужно вызвать php-скрипт, используя URL; вы можете просто использовать lynx, curl или wget. Убедитесь, что вы разместили свой php-скрипт в каталоге www или public_html и правильно вызываете путь в cronjob.
*/2 * * * * wget -q http://localhost/test_cron.php
3. Я использовал эту команду, чтобы активировать задание cron для этого.
/usr/bin/php -q /home/username/public_html/yourfilename.php
в основном на сервере, и он работает нормально.
/usr/bin/php — это двоичный путь php (отличается в некоторых системах, например: freebsd / usr/local/bin / php, linux: /usr/bin/php)