使用 API Laravel 时出现文件放置错误
Posted
技术标签:
【中文标题】使用 API Laravel 时出现文件放置错误【英文标题】:File Put Error while consuming API Laravel 【发布时间】:2020-04-30 02:27:42 【问题描述】:我在 Laravel 中使用 API 时遇到问题。以下是错误:
在 HandleExceptions->handleError(2, 'file_put_contents(/var/www/html/trazoo/storage/framework/cache/data/cb/f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5): 无法打开流: 没有这样的文件或目录', '/var/www/html/trazoo/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php', 122, array('path' => '/var/www/html/trazoo/storage/framework/缓存/数据/cb/f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5', '内容' => '1578913060i:0;', '锁' => true)) 在 file_put_contents('/var/www/html/trazoo/storage/framework/cache/data/cb/f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5', '1578913060i:0;', 2) 在 Filesystem.php 第 122 行 在 Filesystem->put('/var/www/html/trazoo/storage/framework/cache/data/cb/f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5', '1578913060i:0;', true) 在 FileStore.php 第 66 行
但是缓存/数据中有很多文件夹......但不是这个“f4”。
也在 FileSystem.php 中
public function put($path, $contents, $lock = false)
return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
不知道这个 LOCK_EX 是什么意思。这是否会造成任何问题,我不知道。
那么任何人都可以请建议,问题出在哪里。
谢谢
【问题讨论】:
【参考方案1】:该文件夹可能不可写,请检查缓存文件夹的权限。文件放置内容可能会创建文件,并且需要权限才能执行此操作。 https://www.php.net/manual/en/function.file-put-contents.php
from doc:如果文件名不存在,则创建文件。否则,将覆盖现有文件,除非设置了 FILE_APPEND 标志。
也有帮助:How to set up file permissions for Laravel?
【讨论】:
权限还可以,而且每天都有文件夹创建...但是不知道为什么具体的api会出现这个错误。 只是一个不相关的建议,在处理异常时会发生此错误,我认为其他地方存在异常,您应该关注这一点。这是整个错误消息吗?以上是关于使用 API Laravel 时出现文件放置错误的主要内容,如果未能解决你的问题,请参考以下文章
mpdf 文件 laravel 5.8 , 播放某些pdf文件而其他正常播放时出现错误 使用框架laravel执行
尝试使用 AJAX 在 Laravel 中上传单个文件时出现数组到字符串转换错误