2015-12-21 107 views
0

我的Linux服务器运行PHP和Apache。我想在特定时间每天运行一个.php文件。 (这将在服务器上自动运行)使用Linux服务器shell命令在场景中运行php脚本

我有两个文件:mail.php其中发送邮件到[email protected]。和bash.php其中包含一些代码,其中调用mail.php

bash.php包含:

<?php 
    #!/usr/bin/php 
    $command="52 14 * * * ./mail.php"; 
    $result=shell_exec($command); 
    echo "<pre>$result</pre>" 
?> 

然后我在浏览器中运行bash.php

我没有收到任何错误消息。但不要收到任何电子邮件。哪里错了?

回答

1

你不应该做这种方式,所有你需要做的是使用命令crontab -e打开的cronjob配置文件,然后添加在它的命令行:

52 14 * * * <path to>php <Full absolute Path>/mail.php 

要知道你的PHP路径使用命令:

Which php 

欲了解更多详情可参考链接:Crontab Command

+0

在我的'Ubuntu' PC I在终端上运行的代码。但是在Linux服务器中是否有运行'corntab -e'命令的终端?在哪里写'corntab -e'命令? – partho

+1

是的,请参阅您的托管服务提供商或系统管理员。 –

+0

以及我正在尝试。 – partho

1

你试图写一个PHP cron作业。

扔掉你的bash.php,并将其转换为cron任务(crontab -e)。

php_mailer.cron:

52 14 * * * /usr/bin/php /path/to/mail.php 
相关问题