如何让cron在ubuntu上运行PHP脚本作为www-data?

时间:2015-01-24 06:15:48

标签: php apache ubuntu caching cron

我有一个PHP脚本,可以写入多个文件进行缓存。缓存目录(为简单起见,我们称之为/ var / www / cache)由www-data:www-data。

拥有。

我在www-data的crontab中每分钟运行以下cron作业:

* * * * * php /var/www/my_script.php

PHP文件然后使用file_put_contents()来写我的缓存文件。

我的问题是,创建的文件在某种程度上归ubuntu所有:ubuntu,因此当apache需要稍后读取缓存文件并破坏我的应用程序时,apache无法访问。

如何让我的脚本保存www-data所拥有的文件:www-data以便apache可以读取它们?

1 个答案:

答案 0 :(得分:1)

尝试从php代码手动设置用户。 一旦你写了内部文件

这样做

$path = "/var/www/cache" . $file_name ;
$user_name = "www-data";

// Set the user
chown($path, $user_name);