0

我设置了一个 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”触发???

感谢您的时间

4

2 回答 2

0

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

使用chmod命令。

于 2013-03-13T21:20:45.517 回答
0

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

您的文件应如下所示:

#!/bin/bash
/usr/local/bin/php /url/to/your/script.php
于 2013-03-13T21:27:44.220 回答