Php EC2 Cron-未加载外部文件

Php EC2 Cron-未加载外部文件,php,amazon-web-services,amazon-ec2,cron,Php,Amazon Web Services,Amazon Ec2,Cron,我构建了一个程序,可以从外部文件加载值,如下所示: $terms = fopen('terms.csv','a+'); while($row = fgets($terms)) { $termarr[] = urlencode($row); } 这可以在本地主机上工作,也可以通过命令行在我的EC2服务器上远程启动。但是,当我通过cron作业(*/5****ec2 user/usr/bin/php-q/var/www/html/loader.php)运行此文件时,不会加载该文件,并且由于$

我构建了一个程序,可以从外部文件加载值,如下所示:

$terms = fopen('terms.csv','a+');
while($row = fgets($terms)) {
    $termarr[] = urlencode($row);
}

这可以在本地主机上工作,也可以通过命令行在我的EC2服务器上远程启动。但是,当我通过cron作业(
*/5****ec2 user/usr/bin/php-q/var/www/html/loader.php
)运行此文件时,不会加载该文件,并且由于
$termarr
包含0个元素,我的脚本稍后会出现错误。

将以下行添加到cron中:

*/5 * * * * ec2-user cd /var/www/html/ && /usr/bin/php -q loader.php
确保您正在从/var/www/html执行脚本

最后要签出的是脚本的文件所有者,请确保ec2用户拥有它


MrRhum.

确保您将脚本设置为从cron运行时在与文件相同的目录中执行;从cron运行时的当前工作目录不一定是您正在执行的文件所在的目录。如何查找cron的当前工作目录?我的文件和脚本在同一个目录中,但我假设cron运行的目录不同,甚至不用费心去尝试;只需确保您的脚本执行
chdir(realpath(\uuu DIR\uuu))
;要将工作目录更改为脚本文件所在的目录,则cron从何处执行并不重要