我有一个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可以读取它们?
答案 0 :(得分:1)
尝试从php代码手动设置用户。 一旦你写了内部文件
这样做
$path = "/var/www/cache" . $file_name ;
$user_name = "www-data";
// Set the user
chown($path, $user_name);