Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Cronjob不是';t工作不正常_Php_Cron - Fatal编程技术网

Php Cronjob不是';t工作不正常

Php Cronjob不是';t工作不正常,php,cron,Php,Cron,我使用下面提到的代码来运行cron作业。我每分钟都在运行cron作业。cron文件检查是否有可供特定用户使用的新数据。如果有,那么只需将其插入数据库 问题 我已经使用tail-n10/var/log/cron命令检查了SSH,它说cronjob在一分钟前运行,这很好,但是它没有在数据库中输入数据,因为有一个新的可用数据。当我直接访问URL时,它成功地添加了数据。如果有人知道我可能做错了什么,任何指导都会很好 Cronjob代码 */1 * * * * wget http://www.discip

我使用下面提到的代码来运行cron作业。我每分钟都在运行cron作业。cron文件检查是否有可供特定用户使用的新数据。如果有,那么只需将其插入数据库

问题 我已经使用tail-n10/var/log/cron命令检查了SSH,它说cronjob在一分钟前运行,这很好,但是它没有在数据库中输入数据,因为有一个新的可用数据。当我直接访问URL时,它成功地添加了数据。如果有人知道我可能做错了什么,任何指导都会很好

Cronjob代码

*/1 * * * * wget http://www.disciplinexgames.com/runkeeper/index.php >/dev/null 2>&1
$query = "Select * " .
         "from data_feeds " .
         "where username='mark@example.com' " .
           "and gadget_data_type='Weighin' " .
           "and gadget_data_type_id='3283123'";

$result = $dbCon->query($query);

//check if it is a new id..

if(mysql_num_rows($result) == 0){
    //Insert into database..
}
PHP代码

*/1 * * * * wget http://www.disciplinexgames.com/runkeeper/index.php >/dev/null 2>&1
$query = "Select * " .
         "from data_feeds " .
         "where username='mark@example.com' " .
           "and gadget_data_type='Weighin' " .
           "and gadget_data_type_id='3283123'";

$result = $dbCon->query($query);

//check if it is a new id..

if(mysql_num_rows($result) == 0){
    //Insert into database..
}
一些想法:

  • 使用
    /usr/bin/wget
    代替
    wget
  • 将URL放在引号中
  • 将结果重定向到文件,如
    ~/cron\u debug.log 2>&1

  • 我使用类似的代码
    CRON-STUFF wgethttp://page.com/path/script.php --在>/dev/null 2>/dev/null
    之后删除以触发cron PHP脚本,因此我认为没有问题

    一些想法

    • 您是否在独立脚本中加入了MySQL连接内容(有人认为我几乎忘记了)
    • 您是否在没有cron的情况下执行了该命令,它是否完成了任务?如果是,脚本是否存在权限(文件/用户)问题

    是的,MySQL连接在那里,如果我执行URL,它就会正常工作。文件和用户权限为0644/10005052您是在浏览器中执行URL部分还是通过ssh执行完整的wget部分?我指的是后者。我认为644听起来不错。我在浏览器中执行了URL部分,而不是通过SSHT执行了完整的wget部分。请也尝试一下。然后您还可以从控制台获得直接响应,调试应该会更容易。如果执行cron的用户是另一个用户,那么您当前通过ssh,最好切换到web用户以获得正确的调试结果。我的意思是切换到执行cron的用户。php页面中是否包含任何页面?如果路径不是绝对路径,则可能会导致问题