首页 > 解决方案 > 使用 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 是什么意思。这是否会产生任何问题,我不知道。

所以任何人都可以请建议,问题出在哪里。

谢谢

标签: laravel

解决方案


该文件夹可能不可写,请检查缓存文件夹的权限。文件放置内容可能会创建文件,并且需要权限才能执行此操作。 https://www.php.net/manual/en/function.file-put-contents.php

来自 doc:如果文件名不存在,则创建文件。否则,现有文件将被覆盖,除非设置了 FILE_APPEND 标志。

也很有帮助:如何为 Laravel 设置文件权限?


推荐阅读