Задание Cron не выполняет определенный скрипт php

Я настроил задание cron (в Virtualmin на основе Webmin) для выполнения простого тестового сценария, и он хорошо работает.

Используемая команда cron:

/ usr / bin / php -q /home/myuser/domains/mysite.com/public_html/mailtest.php

URL-адрес:

www.mysite.com/mailtest.php

Содержимое "mailtest.php":

<?php
$to = "your@mail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "any@any.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

Теперь я попытался выполнить другой скрипт, и мне, конечно, нужно изменить путь и имя файла, которые просто:

/ usr / bin / php -q /home/myuser/domains/mysite.com/public_html/myfolder/myscript.php

Но здесь я не знаю, почему мой сценарий не выполняется. Когда я захожу на его соответствующий URL-адрес "www.mysite.com/myfolder/myscript.php", сценарий хорошо выполняется.

Содержимое "myscript.php":

<?php
require_once(dirname(__FILE__).'/includes/includes.php');

$mails = POP3Mailer::ProcessMails();
require_once($BASE_PATH.'/includes/footer.php');
?>

У кого-нибудь есть идея, почему cron не будет запускаться с помощью "myscript.php"???

Спасибо за ваше время

2 ответа

Крон работает в очень простой среде. Создать новый файл. Сделайте его исполняемым (chmod +x) и добавьте его в cron. Добавьте #!/ Bin/bash в начале файла, а затем ваш скрипт через /usr/local/bin/php.

Ваш файл должен выглядеть так:

#!/bin/bash
/usr/local/bin/php /url/to/your/script.php

Я не совсем уверен в этом. Но, возможно, вам следует проверить разрешения для этого файла.

Используйте команду chmod.

Другие вопросы по тегам