Cron工作不执行特定的PHP脚本

时间:2013-03-13 21:15:00

标签: cron-task webmin

我设置了一个cron作业(在基于Webmin的Virtualmin中),用于执行一个简单的测试脚本,它运行良好。

使用的cron命令是:

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

网址是:

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

但在这里我不知道为什么我的脚本没有被执行。当我去他的相关网址时 “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 个答案:

答案 0 :(得分:0)

我不太确定。但也许你应该检查这个文件的权限。

使用chmod命令。

答案 1 :(得分:0)

Cron正在非常基础的环境中工作。创建新文件。使其可执行(chmod + x)并将其添加到cron。在文件的开头添加#!/ bin / bash,然后通过/ usr / local / bin / php添加脚本。

您的文件应如下所示:

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