首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Cron作业未执行

PHP Cron作业未执行
EN

Stack Overflow用户
提问于 2014-05-13 01:31:34
回答 1查看 124关注 0票数 0

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

我有以下代码

代码语言:javascript
复制
*/1 * * * * root php -f /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log

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

代码语言:javascript
复制
<?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']."')");


?>

但什么都没有。我已经从网站路径并通过命令行手动运行了该文件,如下所示:

代码语言:javascript
复制
php -f /var/www/html/includes/cron/cron.inc.a.php

然后插入数据库。

我是新的服务器吐露等,所以我道歉,如果这不够详细,我会很高兴补充任何必要的细节,以帮助解决问题。

谢谢。

编辑

在wiki之后,我尝试过:

代码语言:javascript
复制
env -i sh -c 'php -f /var/www/html/includes/cron/cron.inc.a.php'

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-13 02:18:35

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

代码语言:javascript
复制
*/1 * * * * php -q /var/www/html/includes/cron/cron.inc.a.php &> dev/php.log
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23621484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档