laravel - 使用 API Laravel 时出现文件放置错误
问题描述
我在 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/cache/data /cb/f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5', 'contents' => '1578913060i:0;', 'lock' => true)) at file_put_contents('/var/www/html/trazoo/storage/framework/cache/data/cb /f4/cbf4899d461098a11f02d3b4c1bdbcf7d6c3a5d5', '1578913060i:0;', 2) in Filesystem.php line 122 at 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 是什么意思。这是否会产生任何问题,我不知道。
所以任何人都可以请建议,问题出在哪里。
谢谢
解决方案
该文件夹可能不可写,请检查缓存文件夹的权限。文件放置内容可能会创建文件,并且需要权限才能执行此操作。 https://www.php.net/manual/en/function.file-put-contents.php
来自 doc:如果文件名不存在,则创建文件。否则,现有文件将被覆盖,除非设置了 FILE_APPEND 标志。
也很有帮助:如何为 Laravel 设置文件权限?
推荐阅读
- apache-spark - 使用 --jar 和 Main 类的参数提交 spark
- xcode - 重新打开当前 Xcode 项目的最快方法
- c++ - 共享库的外部符号如何在主程序中解析?
- apache-camel - Apache camel sftp org.apache.camel.NoTypeConversionAvailableException:没有可用于转换 java.io.InputStream 的类型转换器
- android - Paytm 校验和不匹配 - Android Paytm SDK 错误:330
- python - 查找dict中是否存在数组且不为空
- javascript - 滑动通过时将轮播重置回第一张幻灯片 - 使用 swiper.js
- sql-server - SSRS 图形表达式 - 自定义周过滤器/表达式
- java - Spring Boot @Autowire 在 @TestCofiguration 内部类中不起作用
- ansible - 如何定期(每周)自动重启远程机器?