使用crontab执行PHP脚本时出错

使用crontab执行PHP脚本时出错,php,linux,bash,nginx,cron,Php,Linux,Bash,Nginx,Cron,我正在用PHP5做一个测试,以下是我的设置:该网站托管在运行Raspbian(Debian)操作系统的Raspberry Pi上。我使用Nginx作为带有php5 fpm 5.4.39的web服务器。我的网站是用插件制作的,我的脚本是用插件制作的(虽然有点具体,但问题可能不是这样) 所以我有我的脚本,我用php/path/to/index.php运行它。在shell中使用它时效果非常好,但当我尝试让cron执行它时,它会向我显示一个错误,说明未定义$\u SERVER['REQUEST\u ME

我正在用PHP5做一个测试,以下是我的设置:该网站托管在运行Raspbian(Debian)操作系统的Raspberry Pi上。我使用Nginx作为带有php5 fpm 5.4.39的web服务器。我的网站是用插件制作的,我的脚本是用插件制作的(虽然有点具体,但问题可能不是这样)

所以我有我的脚本,我用
php/path/to/index.php
运行它。在shell中使用它时效果非常好,但当我尝试让cron执行它时,它会向我显示一个错误,说明未定义
$\u SERVER['REQUEST\u METHOD']
,但我可以通过强制将此变量设置为某个值来解决这一问题。在那之后,什么也没发生,我也不知道该怎么办。我尝试了一切:不同的命令,在外部bash脚本中运行命令,使用PHP she-bang,它们都不起作用。
有人知道这是什么原因吗?也许cron可以运行另一个命令来解决这个问题?“没有用户”(我想,我不是Linux专家)运行脚本是一个问题吗?

您可以通过http在cron中触发php代码,如下所示:

30 11 * * * /usr/bin/wget http://www.example.com/cron.php 

要调试该问题,您需要访问日志

*/1 * * * * full_path_to_your_php_script.php >> full_path_to_your_log_file.log 2>&1

然后检查您的日志文件.log文件的完整路径

是否包含任何其他文件,
需要一次
包含一次
?因为这些路径在从cronYeah运行时可能会有问题,但是脚本无法通过web访问,因此没有人可以运行它。这实际上是一个网站之外的脚本,进行隐藏数据库操作。是的,我已经试过了。当我强制
$\u服务器['REQUEST\u METHOD']
变量为
'GET'
时,我什么也得不到。当我没有设置这个变量时,Atomik Framework会出现一系列错误,说这个变量没有设置,脚本无法继续(尽管我在shell中执行脚本时没有收到这些错误,而且变量甚至没有设置!真的很奇怪…)。