php - Laravel 僵尸文件_put_contents 异常
问题描述
$ php artisan --version
Laravel Framework 5.5.32
我客户的网站最近一直显示 ErrorException。不幸的是,他不知道它出现了多久。这是别人向他指出的。至少在 Firefox 中,错误不会显示。当人们查看源代码时,会附加一个额外的正文标签,其中包含所有“哎呀!” rigamarole,这可以在某些浏览器的底部看到。
例外本身是:
ErrorException: file_put_contents(): Only 0 of 184 bytes written, possibly out of free disk space in file /var/www/vhosts/prod2/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 122
我的问题是这个磁盘空间错误没有明显的原因。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 20G 11G 9.9G 51% /
devtmpfs 512M 0 512M 0% /dev
tmpfs 512M 0 512M 0% /dev/shm
tmpfs 512M 14M 499M 3% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 512M 0 512M 0% /sys/fs/cgroup
none 512M 0 512M 0% /run/shm
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 2000000 12371 1987629 1% /
devtmpfs 131072 53 131019 1% /dev
tmpfs 131072 1 131071 1% /dev/shm
tmpfs 131072 212 130860 1% /run
tmpfs 131072 8 131064 1% /run/lock
tmpfs 131072 10 131062 1% /sys/fs/cgroup
none 131072 1 131071 1% /run/shm
config/app.php
'env' => env('APP_ENV', 'production'),
'debug' => env('APP_DEBUG', false),
config/session.php
'driver' => env('SESSION_DRIVER', 'file'),
'files' => storage_path('framework/sessions'),
没有 .env 文件。该站点没有用户/登录名。甚至不是管理员。
我已经三重检查了存储及其内容的所有权限。我已经删除了缓存、会话和视图目录中的所有内容。我已经重新启动了网络服务器。我正在换档重新加载浏览器。没有什么能让这个例外消失。
顺便说一句,我知道这是 Laravel 的一个非常旧的版本。我没有维护该站点的运行安排。客户要求我在此期间继续进行更新。但是,我想先了解这是怎么回事。
编辑:以下在 Kernel.php 中被注释掉
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
此外,我将会话驱动程序设置为“数组”并注释掉 config/auth.php 中的所有内容(以便它返回一个空数组)。
然后我清空了视图、会话和缓存存储目录。我仍然看到这个堆栈跟踪。
解决方案
推荐阅读
- sql - 不满足条件时添加虚拟数据
- arduino - 将 Esp8266 客户端连接到本地 Web 服务器的子目录
- spring - 此处不允许注释 - Intellij
- excel - Power Query - 根据 excel 单元格添加列数量
- python - pytorch 加载 _IncompatibleKeys
- c# - FluentValidation 单个命令的多个验证器
- python - 自定义 X 轴 Matplotlib Python
- electron - 在基于电子的桌面应用程序中查找用户桌面空闲时间的最佳方法
- python - 匹配条件错误,字母“b”应该至少有一个前导使用正则表达式 python。如何纠正它?
- python-3.x - 需要从 Json 文件中获取演员姓名