使用cron vs browser运行的php文件的文件访问差异

时间:2012-11-01 18:42:28

标签: php file cron

一个php文件(比如example.php)应该把东西写进另一个文件(比如alma.txt)。如果exam​​ple.php是通过cron作业运行的,那么一切正常,但是当我通过浏览器调用它时,它不会写入alma.txt。为什么呢?

1 个答案:

答案 0 :(得分:0)

cron作业在拥有配置了cron作业的crontab文件的用户下运行。

当您从cron守护程序运行php时,您的用户是执行该命令的用户。

当您通过浏览器运行php脚本时。在Web服务器中,此脚本由启动了apache进程的用户执行。例如,在ubuntu中是用户www-data。

这看起来像文件权限问题。只是为了确保授予alma.txt文件的所有权限。

chmod 777 alma.txt

再试一次,如果一切正常,那么是权限问题,我建议你为文件设置正确的权限。也许将组www-data添加到文件中并向其授予775。