Cron作业错误“无法打开输入文件”

时间:2011-07-13 18:55:35

标签: cron

我花了一整天的时间寻找这种特定情况的解决方案(在Stack Overflow和Googs上),所以如果已经在Stack Overflow上,我会道歉。

我正在尝试通过命令行在AWS中设置一个相当简单的cron作业:

* * * * * /usr/bin/php /opt/app/current/record_user_login.php

cron作业成功触发并能够触及有问题的文件(它正在达到正确的环境。)但是,我一直收到错误:

"Could not open input file"

我已经:

  • 将文件chmod为777
  • 将脚本更改为只回显“Hello world”
  • 尝试以root用户身份启动cronjob
  • chmod将crontab文件本身改为777

这些解决方案似乎都不起作用。由于一个未知的原因,我无法编辑rsyslog.conf来打开cronlog,所以我没有任何数据。

record_user_login的内容是:

<?
    include("connect_to_mysql.php");

    //Logged in in 1 week
    $current_date = date('Y-m-j H:i:s', strtotime("-1 weeks"));

    $query = "SELECT DISTINCT user_id FROM users_login_history WHERE sign_in_time > '$current_date'";
    $result = mysql_query($query) or die(mysql_error());
    $i = 0;
    while($row = mysql_fetch_array($result)){
        $i++;
    }
    $query = "INSERT INTO sqm_data (feature, action) VALUES ('user login', $i)";
    if(!mysql_query($query)) {
        die('Error: ' . mysql_error());
    }
?>

有什么想法吗?

4 个答案:

答案 0 :(得分:11)

这在游戏中是荒谬的,但我确实找到了解决方案。发生的事情是:

我最初在Windows记事本中键入了cron命令并上传了它们。显然正在发生的事情是回车(“/ r”,IIRC)被插入,我不知道(和vim,当我从putty查看文件时。)一位朋友通过一种方法我没有删除那些回车回想/不幸的是,并没有太顺利地关注,但在回归被删除后,一切都奏效了。

答案 1 :(得分:3)

试试这个:

* * * * * cd /var/www/html/cron/; /usr/bin/php /var/www/html/cron/filename.php -q -f

答案 2 :(得分:0)

* * * * * /usr/bin/php -q /opt/app/current/record_user_login.php

尝试添加-q标志。此外,如果您尚未登录输出,可能会有所帮助。

你确定你的PHP路径是正确的吗?我见过这样的例子:

* * * * * php -q /opt/app/current/record_user_login.php

你可能想尝试一下。

答案 3 :(得分:0)

在cpanel中,这可以解决我的问题

 php -q -f /home/skat_2347/public_html/cron.php /home/skat_2347/public_html/