【发布时间】:2021-03-16 10:43:35
【问题描述】:
我花了整整一天的时间来寻找解决这种特定情况的方法(在 Stack Overflow 和 Googs 上),所以如果 Stack Overflow 上已经有这个问题,我深表歉意。
我正在尝试通过命令行在 AWS 中设置一个相当简单的 cron 作业:
* * * * * /usr/bin/php /opt/app/current/record_user_login.php
cron 作业成功触发并且能够接触到有问题的文件(它正在访问正确的环境。)但是,我不断收到错误消息:
"Could not open input file"
我已经:
- 将文件修改为 777
- 将脚本更改为仅回显“Hello world”
- 尝试以 root 用户身份启动 cronjob
- 将 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());
}
?>
有什么想法吗?
【问题讨论】:
-
如果您已将脚本更改为回显“Hello World”,它真的会打印出来吗?
-
很遗憾,没有打印任何内容。我只是收到“无法打开输入文件”错误
-
无论您的问题是什么,chmod 777 都是错误且不安全的! 请不要使用此反模式。
-
哇。冷却。当时我对发生的事情一无所知,所以我正在尽我所能来诊断问题。
标签: cron