2013-03-13 146 views
0

我设置了一个cron作业(在基于Webmin的Virtualmin中)执行一个简单的测试脚本,它工作得很好。Cron作业不执行特定的php脚本

使用的cron命令是:

的/ usr /斌/ PHP -q /home/myuser/domains/mysite.com/public_html/mailtest.php

URL是:

www.mysite.com/mailtest.php

的 “mailtest.php” 的内容是:

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

无w我试着执行另一个脚本,我当然修改了路径和文件名,它们只是:

/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” 火???

感谢您的时间

+0

嗯,我解决我的问题。它与有一些代码不兼容的“myscript.ph”有关。我不知道这是可能的......无论如何感谢Romain Braun和5k7试图帮助。干杯 – dotcom22 2013-03-15 14:06:07

回答

0

我不确定。但也许你应该检查这个文件的权限。使用chmod命令。

0

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

你的文件应该是这样的:

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