Laravel:file_put_contents() 权限被拒绝——正确的存储/框架/缓存权限?

     2023-03-04     288

关键词:

【中文标题】Laravel:file_put_contents() 权限被拒绝——正确的存储/框架/缓存权限?【英文标题】:Laravel: file_put_contents() permission denied — correct storage/framework/cache permissions? 【发布时间】:2019-06-13 09:08:07 【问题描述】:

我在编辑位于storage/framework/cache 的 Laravel 缓存时遇到了困难。我有一个作业正在运行,它保存到某个缓存,但每次作业运行时,都会发生此错误:

ERROR: file_put_contents(/var/www/html/---/storage/framework/cache/data/3c/c7/3cc7fd54b5a3cb08ceb0754f58371cec1196159a): failed to open stream: Permission denied

详情

当我保存到同一个缓存时(例如,使用相同的键,没有错误) 我在 nginx 上运行 我已经在 Laravel 应用程序所在的文件夹中运行了这个命令 sudo chown -R www-data:www-data storage 以及 sudo chmod -R 775 /home/<user>/<laravel folder>/storage 执行ls -lh /storage/framework/cache 将返回以下内容:drwsrwsr-x 55 www-data www-data 4.0K Jan 18 20:56 data。 现在我只是想知道完整、正确的 Laravel 权限集是什么以及如何恢复该设置。

感谢任何帮助!提前谢谢你。

【问题讨论】:

【参考方案1】:

我使用sudo php artisan cache:clear 完全清除了缓存。之后,问题就再也没有发生过。

反对 Ismoil 的回答:永远不要创建 Laravel 存储文件夹 777。这会带来安全风险。

【讨论】:

如果对您有帮助。为什么不接受答案?是的,您不能这样做,因为您可以设置 775 。但有时您需要解决问题并返回 775 根据@Ismoil Shifoev 的说法,他将权限设置为 775 而不是 777。775 是否有任何可能的风险? 我遇到了完全相同的问题。真的不知道这里发生了什么。从澳大利亚访问网站时出现错误,但从欧洲访问时却没有(可能是因为它没有尝试写入同一个缓存文件)。【参考方案2】:

1) 如果您查看您的 cache.php 配置文件,您会看到文件驱动程序的 storage/framework/cache/data 文件夹已设置为写入:

'file' => [
    'driver' => 'file',
    'path' => storage_path('framework/cache/data'),
],

这意味着必须正确设置该文件夹的权限,以便网络服务器用户可以成功写入该文件夹。

2) 或者你可以为我运行这个命令它解决了我的问题

php artisan cache:clear 
chmod -R 775 storage/
composer dump-autoload

【讨论】:

谢谢你,伊斯莫尔。 composer dump-autoload 实际上是做什么的? 它只会重新生成所有需要包含在项目中的类

Laravel:file_put_contents() 无法打开流:会话文件夹的权限被拒绝

】Laravel:file_put_contents()无法打开流:会话文件夹的权限被拒绝【英文标题】:Laravel:file_put_contents()failedtoopenstream:PermissiondeniedforSessionfolder【发布时间】:2016-12-1717:35:05【问题描述】:即使我已将777和所需的用户和组分配给存储... 查看详情

file_put_contents,无法打开流:没有这样的文件或目录 Laravel [重复]

】file_put_contents,无法打开流:没有这样的文件或目录Laravel[重复]【英文标题】:file_put_contents,failedtoopenstream:NosuchfileordirectoryLaravel[duplicate]【发布时间】:2015-11-1413:27:10【问题描述】:我只是想在本地运行我客户的项目并遇到这... 查看详情

Laravel Forge:file_put_contents():打开流失败:权限被拒绝

】LaravelForge:file_put_contents():打开流失败:权限被拒绝【英文标题】:LaravelForge:file_put_contents():failedtoopenstream:Permissiondenied【发布时间】:2016-08-0921:00:51【问题描述】:所以我刚开始使用LaravelForge,并部署了我的第一个应用程序... 查看详情

file_put_contents 不适用于 json laravel 和 php

】file_put_contents不适用于jsonlaravel和php【英文标题】:file_put_contentsdoesn\'tworkwithjsonlaravel&php【发布时间】:2015-10-0213:50:41【问题描述】:我尝试了一切将项目推送到json文件但调用时file_put_contents("file.json",$data)不起作用... 查看详情

如果laravel报错file_put_contents():failedtoopenstream(代码片段)

问题解决方法执行命令 phpartisancache:clear 并赋予 /storage 文件夹读写权限: chmod-R777storage;若在执行 phpartisancache:clear 时出现错误:UncaughtUnexpectedValueException:Thestreamorfile"/storage/l 查看详情

Laravel 5.5:Storage::put,file_put_contents 错误:无法打开流:没有这样的文件或目录

】Laravel5.5:Storage::put,file_put_contents错误:无法打开流:没有这样的文件或目录【英文标题】:Laravel5.5:Storage::put,file_put_contentserror:failedtoopenstream:Nosuchfileordirectory【发布时间】:2018-10-0317:32:34【问题描述】:运行devwin7机器。尝... 查看详情

Laravel 5 显示 ErrorException file_put_contents 无法打开流:没有这样的文件或目录

】Laravel5显示ErrorExceptionfile_put_contents无法打开流:没有这样的文件或目录【英文标题】:Laravel5showErrorExceptionfile_put_contentsfailedtoopenstream:Nosuchfileordirectory【发布时间】:2018-04-0804:05:31【问题描述】:我有一个关于Laravel5的项目,... 查看详情

Passport Laravel Exception file_put_contents(/secret-keys/oauth\oauth-public.key): 无法打开流

】PassportLaravelExceptionfile_put_contents(/secret-keys/oauth\\\\oauth-public.key):无法打开流【英文标题】:PassportLaravelExceptionfile_put_contents(/secret-keys/oauth\\oauth-public.key):failedtoopenstreamPassportLaravelExceptionfil 查看详情

laravel框架中提示错误:file_put_contents(/):failedtoopenstream:permissiondenied

我使用laravel在本机进行开发,开发完成后通过svn上传到服务器,然后架设服务器,最后出现此问题,一直无法解决,求高手指教!!本机mac+xampp1.8.3-3。问题如图,环境是ubuntu14.4+nginx1.4.6+php5.5.9框架使用的是laravel请不要再说权... 查看详情

Laravel 权限被拒绝 Centos 7

...09【问题描述】:我安装了laravel4.2,结果出现了这个错误file_put_contents(/var/www/html/laravel4/app/storage/meta/services.json):无法打开流:权限被拒绝我认为services.json不存在,但当我 查看详情

Laravel 4:无法打开流:权限被拒绝

...在设置Laravel4时遇到问题。打开索引页面时出现此错误:file_put_contents(/Users/laravel/app/storage/meta/services.json)[function.file-put-co 查看详情

Laravel:laravel Blade 文件中的权限被拒绝

...到以下问题任何帮助,将不胜感激。未处理的异常消息:file_put_contents(/Users/alvincrespo/Sites/apollo/s 查看详情

从 Laravel 我无法打开流:权限被拒绝

...务器上收到如下错误PHP致命错误:未捕获的ErrorException:file_put_contents(/github/myweb/monitor/storage/framewo 查看详情

Laravel:“无法在存储/视图中打开流”

...aravel应用程序时,我收到以下错误:未处理的异常消息:file_put_contents(/va 查看详情

使用 API Laravel 时出现文件放置错误

...遇到问题。以下是错误:在HandleExceptions->handleError(2,\'file_put_contents(/var/www/html/trazoo/storage/framework/c 查看详情

共享主机中的 Laravel 存储链接

...主机中的存储文件夹【问题讨论】:您最好的选择是使用file_put_contents()将图像存储在您的公共目录中。【参考方案1】:您可以使用自定义方法将文件上传到您的公共目录,而不是使用S 查看详情

如何在 Laravel 7 中更新图像 Summernote?

...在我的本地计算机上一切正常我的共享主机出现此错误。file_put_contents(/public/storage/article_image/post_162069532710.png 查看详情

框架/视图中的file_put_contents无法打开流:没有这样的文件或目录[重复](代码片段)

...13;这个问题在这里已有答案: Laravel5showErrorExceptionfile_put_contentsfailedtoopenstream:Nosuchfileordirectory10个答案 file_put_contents(/home/gbtire/domains/site/public_html/gb-tire/storage/framework/Views/74f95f98511096a7aa6ab74d75b8f13a61b7b1d3.php):... 查看详情