关于 file 缓存,偶尔出现 file_put_contents () error 的疑惑

环境:LNMP;PHP 版本7.0;Laravel 版本5.5.40。uclound 云服务器。代码管理 git。

异常表现:
偶见的, file_put_contents() 错误,failed to open stream: No such file or directory;有时一天内能出现4-5次,有时候接连几天都不会出现。

    [2018-09-13 19:52:29] production.ERROR: file_put_contents(/var/www/blog/storage/framework/cache/data/61/66/61662d13be54459cafad9d52f19137b34a4d42c9): failed to open stream: No such file or directory {"exception":"[object] (ErrorException(code: 0): file_put_contents(/var/www/blog/storage/framework/cache/data/61/66/61662d13be54459cafad9d52f19137b34a4d42c9): failed to open stream: No such file or directory at /var/www/blog/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)"} 

猜测可能出现的原因:
1.storage 目录权限问题【改为777权限,依然偶尔会报出该异常】
2.inode 耗尽 【inode 足够,使用不到11%】
3.磁盘空间不够 【硬盘空间足够】
4.服务器不支持共享锁 【参见阿里云 部分服务器不支持共享锁 ,file_put_contents($path, $contents, $lock ? LOCK_EX : 0); LOCK_EX 改为LOCK_SH, 依然无效】
5.缓存问题。 执行了 php artisan cache:clear
6.log文件日志过大问题。【log文件不到 4KB】
7.目录不存在问题。【查看 /var/www/blog/storage/framework/cache/data/61/66/61662d13be54459cafad9d52f19137b34a4d42c9 目录及文件存在, 查看目录及文件生成时间 和 laravel 报错时间一致, 精确到秒】

    代码上传方式
        `git pull
        sudo -u nginx php artisan migrate
        sudo -u nginx php artisan config:clear
        sudo -u nginx php artisan cache:clear
        sudo -u nginx php artisan route:clear
        sudo -u nginx php artisan optimize`

该问题,虽然发生频率比较低不影响正常生产,不过依然很烦人。排查半天无果,希望能得到帮助。非常感谢。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 9

有可能是上传文件超过 php 文件上传大小限制,你改大点试试

1年前 评论

@yanthink 非常感谢你的回复。这个是普通数据查询而已,与上传文件是无关的。

1年前 评论

@shuaili 我刚测试了一下,你这个和 上传文件超过 php 文件上传大小限制的 错误提示好像确实不一样

file

不过我把限制调大了就可以了

file

1年前 评论
csm668

老哥我想知道这问题解决了么

11个月前 评论
liugu01

同样遇到这个问题 ,偶尔出现 ,诡异得很,不知从何下手

10个月前 评论

项目目录的 storage 文件夹没有写入权限。在项目目录执行 chmod -R 777 storage

5个月前 评论

也遇到这个问题了,找到什么原因造成的吗

3个月前 评论

我也碰到了一样的问题

1个月前 评论
JohnYep

我也遇到了相同的问题

我在网上查找了相关资料,最后找到了解决办法

执行下面的方法即可

php artisan config:cache
6天前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!