首页 > 解决方案 > file_put_contents:打开流失败:权限被拒绝如何解决?

问题描述

我有一个在文件夹内创建的文件

products/pr{date}.csv

使用file_put_contents 此文件是在使用直接调用时创建的,即使用 url

例如http://website.com/some/product

在这种情况下,文件权限是 apache:apache

这工作正常

但在某些情况下,此文件是由 cron 作业创建的

在这种情况下,权限是 ec2-user:apache

但是如果文件是由 cron 作业 url 创建的,它的 showig 错误将不起作用

file_put_contents(".."): failed to open stream: Permission denied

标签: phplinuxpermission-denied

解决方案


如果您的 Cron 正在从 APACHE 运行 PHP 脚本,那么您需要授予 www-data (APACHE 用户组) 权限以在存储 CSV 文件的文件夹上写入。

通常 775 权利应该足以让 www-data 写入文件夹。


推荐阅读