Php Crontab无法在AWS ec2 Ubuntu实例上运行

Php Crontab无法在AWS ec2 Ubuntu实例上运行,php,amazon-ec2,crontab,Php,Amazon Ec2,Crontab,正在尝试设置crontab以在我的AWS ec2 ubuntu实例上运行php脚本: * * * * * /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD 无法让它执行 在web浏览器中运行时会执行脚本: http://URL_NAME/tides/get_tides.php?id=PASSWORD 当我在命令行上运行'which php'时,它返回/usr/bin/php 目录/文件权限(tides&get_tides.p

正在尝试设置crontab以在我的AWS ec2 ubuntu实例上运行php脚本:

* * * * * /usr/bin/php /var/www/html/tides/get_tides.php?id=PASSWORD
无法让它执行

在web浏览器中运行时会执行脚本:

http://URL_NAME/tides/get_tides.php?id=PASSWORD
当我在命令行上运行'which php'时,它返回
/usr/bin/php
目录/文件权限(tides&get_tides.php):755

如果我在命令行上运行
sudo/usr/bin/php/var/www/html/tides/get_tides.php?id=PASSWORD
,我得到:无法打开输入文件:

/var/www/html/tides/get_tides.php?id=PASSWORD

有什么建议吗?

没有直接使用
?id=PASSWORD运行php Scripting的方法,您可以调整cronjob以

* * * * * /usr/bin/curl -o temp.txt http://URL_NAME/tides/get_tides.php?id=PASSWORD

由于您没有在get_tides.php中显示内容,也许可以将命令行参数传递给php脚本

php /var/www/html/tides/get_tides.php PASSWORD
并将php更新为:

<?php
// $argv[0] is '/var/www/html/tides/get_tides.php'
$id = $argv[1];
?>

问题是由于在我的cron脚本中未使用绝对路径造成的:

<?php
$path = $_SERVER["DOCUMENT_ROOT"];
$file = "$path/cron-test.txt";

CLI上没有查询字符串。我这里似乎有一些问题。我已经决定使用$argv,但基本脚本无法通过cron运行。我一直在尝试运行以下测试脚本:$path=$\u SERVER[“DOCUMENT\u ROOT”]$file=“$path/cron test.txt”$数据=日期(“l d M Y:H:i”)。“\r\n”;如果($fp=fopen($file,“a”)!==false){fwrite($fp,$data);fclose($fp);}如果我通过web浏览器运行,而不是通过以下cron命令运行,脚本将创建文本文件:****/usr/bin/php/var/www/html/cron-test.php我缺少什么?
<?php
$path = $_SERVER["DOCUMENT_ROOT"];
$file = "$path/cron-test.txt";