我已在共享主机上部署了 Laravel 应用程序。 Laravel 主文件夹位于“public html”之外,名为“laravel-app”。 Laravel 的公共文件夹放置在“public_html”文件夹中,并且“.htaccess”已正确配置。一切正常,但我无法保存图像。
我使用 Laravel Backpack 5,它将图像的路径正确保存到数据库中。如果我手动将图像放置在该文件夹中,并给出相同的名称,那么它就会显示在网站上。但是,它不会从管理面板保存。一切都在我的本地主机上运行。
Laravel 默认在存储文件夹中上传文件(图像,...),当您手动更改项目文件目录时(将主文件夹放在“public_html”之外,并称为“laravel-app”),Laravel 不会访问保存文件的默认目录。
您必须打开项目根目录中的 config 文件夹(位于您的 laravel-app 文件夹中)并打开 filesystems.php
在此文件中,您必须检查默认的 FILESYSTEM_DISK。比如默认是本地的
所以滚动到这部分
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'throw' => false,
],
并将 root 更改为 root 的绝对地址,例如:
'local' => [
'driver' => 'local',
'root' => './../../public_html/youraddress',
'throw' => false,
],
现在,您的文件已上传到此目录。
希望能有所帮助。