【问题标题】:PHP Cron Job not Executing [closed]PHP Cron作业未执行[关闭]
【发布时间】:2014-06-30 13:12:56
【问题描述】:

我正在尝试在我的 Linux 服务器上设置一个 cron 作业。

我有以下代码

*/1 * * * * root php -f /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log

cron 作业要调用的文件从另一台服务器获取心跳响应。

<?php

    $l = new MySQLi();

    $l->connect(blah);

    $q = $l->query("SELECT * FROM `tbl_latency_stats`");

    set_include_path('/var/www/html/includes/');

    include("ping/ping.php");

    $host = '<IP ADDRESS>';

    $ping = new Ping($host);

    $latency = $ping->ping();

    if (!is_bool($latency)){
        if(is_float($latency) || is_string($latency)) {
            if(is_string($latency)){
              $s = split(".", $latency);
              if($s[0] >= 100){
                $response_array['status'] = "success";
                $response_array['state'] = "WARNING"; 
                $response_array['timedate'] = date("Y-m-d H:i:s");
                $response_array['response'] = "High Latency";
                $response_array['ping'] = "$latency";
                $response_array['message'] = "null";
              }else{
                $response_array['status'] = "success";
                $response_array['state'] = "UP"; 
                $response_array['timedate'] = date("Y-m-d H:i:s");
                $response_array['response'] = "LIVE";
                $response_array['ping'] = "$latency";
                $response_array['message'] = "null";
              }
            }elseif(is_float($latency)){
              if($latency >= 100){
                $response_array['status'] = "success";
                $response_array['state'] = "WARNING"; 
                $response_array['timedate'] = date("Y-m-d H:i:s");
                $response_array['response'] = "High Latency";
                $response_array['ping'] = "$latency";
                $response_array['message'] = "null";
              }else{
                $response_array['status'] = "success";
                $response_array['state'] = "UP"; 
                $response_array['timedate'] = date("Y-m-d H:i:s");
                $response_array['response'] = "LIVE";
                $response_array['ping'] = "$latency";       
                $response_array['message'] = "null";    
              }             
            }
        }else{
            $response_array['status'] = "error";
            $response_array['state'] = "UNKONWN"; 
            $response_array['timedate'] = date("Y-m-d H:i:s");
            $response_array['message'] = "Unexpected Response!";
            $response_array['response'] = "$latency";
            $response_array['ping'] = "null";       
        }
    }else {
        $response_array['status'] = "error";
        $response_array['state'] = "DOWN"; 
        $response_array['timedate'] = date("Y-m-d H:i:s");
        $response_array['message'] = "Request Unreachable!";
        $response_array['response'] = "$latency";
        $response_array['ping'] = "null";
    }                       

    $q = $l->query("INSERT INTO  `enigmaStat`.`tbl_latency_stats` (`latency_stat_id` ,`latency_stat_date_time` ,`latency_stat_status` ,`latency_stat_response` ,`latency_stat_latency_value` ,`latency_stat_user_text`)VALUES ('' , '".$response_array['timedate']."' ,  '".$response_array['state']."',  '".$response_array['response']."',  '".$response_array['ping']."',  '".$response_array['message']."')");


?>

但是没有插入。我已经从网站路径运行该文件,并通过命令行手动运行如下:

php -f /var/www/html/includes/cron/cron.inc.a.php

它会插入到数据库中。

我是服务器配置等方面的新手。如果不够详细,我深表歉意,我很乐意添加任何必要的细节来帮助解决问题。

谢谢。


编辑

按照我尝试过的wiki:

env -i sh -c 'php -f /var/www/html/includes/cron/cron.inc.a.php'

它可以工作并插入到数据库中。

【问题讨论】:

  • 您能浏览一下 crontab 标签 wiki 上的 Debugging Crontab 部分并添加任何发现吗?
  • @thatotherguy 我已经运行了 wiki 中的所有建议,但没有结果。所有环境模拟都有效。没有日志输出。真的不知道发生了什么。

标签: php linux ubuntu command-line crontab


【解决方案1】:

PHP cron 作业有时需要可选标志:

*/1 * * * * php -q /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log

【讨论】:

  • No Change @meda 仍然没有执行
  • @DavidPassmore 哎呀,从那里删除 root,当 cron 运行时,它以用户身份运行
  • 谢谢你修复它:)
猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 2012-03-04
  • 2013-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多