【问题标题】:Laravel Storage is not able to locate file in WindowsLaravel Storage 无法在 Windows 中找到文件
【发布时间】:2021-01-18 10:02:50
【问题描述】:

我正在 Windows 上开发一个包,它在 Laravel 的 config 目录中发布 package.php 文件。

要获取 package.php 的内容,我使用的是 Storage Facade。 (我知道我可以使用 config() 来读取它,但我的用例不同。)

use Illuminate\Support\Facades\Storage;
$contents = Storage::get(config_path('package.php'));

上面的代码抛出了 FileNotFoundException,但是我已经检查了该文件是否存在,并且我也可以使用 config() 助手访问它。

File not found at path: C:/xampp/htdocs/blog/config/package.php

有趣的是,当我打印它返回的 config_path('package.php') 时

"C:\xampp\htdocs\blog\config\package.php"

注意斜线的方向在显示的路径中是不同的 异常消息和 config_path() 助手返回的路径。

我主要在 Linux 上工作,因此对 Windows 不太了解,所以我无法理解这里发生了什么。

请帮忙!

谢谢。

【问题讨论】:

    标签: php laravel laravel-6 laravel-8


    【解决方案1】:

    Storage::get() 只会在为磁盘配置的root 位置内查找。 https://laravel.com/docs/8.x/filesystem#retrieving-files

    您可以使用 File 外观而不是 Storage。

    File::get(config_path('package.php'));
    

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 2020-05-24
      • 1970-01-01
      • 2019-04-21
      • 2018-06-05
      • 2018-10-27
      • 2020-08-02
      • 2021-03-05
      • 1970-01-01
      相关资源
      最近更新 更多