PHP file_exists从命令行工作,但不是从cron

我有一个脚本,从数据库中读取文件,在一个目录中find它们,并将它们复制到另一个目录作为上传系统的一部分。 这个过程是:1.用户通过ftp上传文件到/ home / uploaduser 2.用户input信息到mysql数据库3. cronjob(download.php)轮询数据库,find上传的文件名4.相同的cronjob检查/ home / uploaduser作为文件名并将文件复制到另一个目录

如果我从命令行运行download.php,脚本就可以工作。 如果我从crontab运行它,它无法findfile_exists()文件。

这是cronjob:* / 1 * * * * php /home/downloads/cron-scripts/download.php> / dev / null 2>&1

我已经尝试将文件的所有权更改为运行cronjob的用户,没有任何区别。

cronjob安装运行:crontab -e作为运行脚本的用户。 运行脚本的用户位于uploaduser组中,并且uploaduser组文件权限为664。

你的脚本中有什么东西取决于环境设置? cron运行的环境通常与您的用户环境不同。

将脚本的输出redirect到日志文件而不是/ dev / null以获取错误消息。

  1. 尝试为PHP可执行文件提供绝对path,如/ usr / bin / php
  2. 尝试将输出redirect到某个文件,以便可以看到输出