Задание Cron не работает -cpanel VPS оптимизирован 3

#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 разных теста :

  1. проверьте ваш скрипт без использования Cron, запустив его в браузере, и проверьте, получаете ли вы желаемый результат.
  2. проверьте 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)