【发布时间】:2020-06-10 18:04:18
【问题描述】:
我在我的 VPS 上安装了 Debian 9。我在服务器上安装了 LAMP。我以 root 身份登录,我创建了一个新站点 "/var/www/example.com",我看到权限是“root:root”。网页显示在浏览器中。
我创建了一个cron.php 文件,它将当前时间写入文件。在 crontab 我有 /usr/bin/php /var/www/example.com/cron.php。如果我通过终端运行此命令,一切正常。但是,Crontab 会返回错误,因为它没有写入权限。但是,Crontab 以 root 身份运行。该目录有777个权限。
我尝试将 /var/www 设置为 www-data:www-data 并为 crontab (crontab -u www-data -e) 设置相同的值。结果是一样的,cron运行但不写入文件。
编辑: 我发现如果脚本包含:file_put_contents('output.txt', 'xxx'); cron 创建的文件在根目录下。如果我设置完整路径,一切都很好:file_put_contents('/var/www/exmaple.com/output.txt', 'xxx');有没有办法修改这种行为?
【问题讨论】:
-
您以哪个用户身份运行 cron 作业?
-
默认为root。
标签: cron debian-stretch