【问题标题】:Cron job not running the fileCron 作业未运行文件
【发布时间】:2014-01-15 17:09:10
【问题描述】:

我的 cron 作业有问题。我将 cron 作业设置为每五分钟运行一个文件,但那不起作用... Cron 作业没有运行文件,代码:

<?php
    set_time_limit(1000000000000000);

    include $_SERVER['DOCUMENT_ROOT'].'/includes/connect.php';

    mysql_connect('localhost', 'root', '') or die(mysql_error());
    mysql_select_db("database") or die(mysql_error());

    $getinfo = mysql_query("SELECT * FROM something WHERE game_id = '2'") or die(mysql_error());
    while($servers[] = mysql_fetch_assoc($getinfo)){

    }

?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8'>
    </head>
    <body>

    </body>
</html>

感谢所有愿意提供帮助的人...

【问题讨论】:

  • cron 的配置文件或 crontab 中的条目是什么样的?
  • /website/includes/something/thisfile.php
  • stackoverflow.com/questions/2689284/executing-php-with-crontab 有帮助吗?如果这是标准的cron 系统,它被设计为运行php 命令之类的东西;它不会直接运行 php 源代码,但您可以将文件名作为参数提供给 php 命令..

标签: cron


【解决方案1】:

脚本依靠一种特殊的语法来选择要使用的解释器。如果将 crontab 条目直接指向文件,则无法确定要使用的解释器。如果你查看任何 shell 脚本,你会看到第一行如下:

#!/bin/sh

这指向脚本的解释器。将其指向您的 php 二进制文件或使用调用脚本

php /path/to/script.php

您还需要确保文件具有可执行权限集:

chmod +x /path/to/script.php

我通过谷歌搜索“php run as script”找到了这个页面,它说的大致相同,但有更多细节:

http://blog.johan-mares.be/ict/php/running-php-shell-scripts/

【讨论】:

  • 我没有机器,我通过cP设置cron作业
  • 步骤还是一样的。但我不知道 cP 是如何工作的,也不知道你的主机允许你做什么。您仍然可以访问该文件吗?所以使用 shebang 解决方案并使用 ftp 或您有权访问的任何东西来设置执行位。当然,假设 cP 不会做任何神奇的事情。
  • Cron 作业没问题.. 在 Cron 作业选项卡中,我有一个运行良好的更多文件...但这不起作用,我认为它在代码中出错,更准确地说是在 include.. 之前我有同样的问题,因为我使用了会话,但我解决了它。我在没有 $_SERVER['DOCUMENT_ROOT'] 的情况下写了 include 并且那不起作用,然后我在 stackoverflow 上阅读,在代码中创建帖子“Cron job dont work”的用户名包含在内,一些用户回答并说“把这个代码前面包括 $_SERVER['DOCUMENT_ROOT'],如果那行不通,你说“,我读到了,然后放了这段代码,但又不行,路径很好,但不行……
  • 请更新您的问题以明确这不是 crontab 问题,而是脚本问题。并链接到对您有部分帮助的问题。
猜你喜欢
  • 2014-11-02
  • 2020-03-16
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
相关资源
最近更新 更多