通过Voyager创建了一个新用户后,这个头像显示为一个破碎的图像。我上传了一张新图片,但图片仍然破碎。
我在Google Chrome浏览器中查看了控制台,发现了3 404个错误:
2017-06-19 10:53:50.159 http://localhost:8888/storage/users/June2017/ypKlbqbATDbpnYctZBFp.png 无法加载资源:服务器响应状态为404 (未找到)
2017-06-19 10:53:50.256 http://localhost:8888/storage/users/June2017/ypKlbqbATDbpnYctZBFp.png 无法加载资源:服务器响应状态为404 (未找到)
2017-06-19 10:53:50.473 http://localhost:8888/vendor/tcg/voyager/assets/images/bg.jpg失败 加载资源:服务器响应状态为404(不是 发现)当我查看项目时,2个存储的路径 错误是:http://localhost:8888/storage/app/public/users/和: http://localhost:8888/storage/app/public/users/June2017
在Media中,我在导航文件夹时看到类似的路径问题:
2017-06-19 11:38:22.248%7B%7B%20selected_file.path%20%7D%7D:1 GET http://localhost:8888/development/PhpstormProjects/Search4Venues/public/admin/%7B%7B%20selected_file.path%20%7D%7D 404(未找到)
预测问题,在.env
,我有:APP_URL=http://localhost:8888
这是配置错误吗?
修改
一位经验丰富的同事已经通过Voyager找到了一些不一致的地方,他试图解决这个问题。
在app.php
,我们必须改变:
'url' => env('APP_URL', 'http://localhost:8888/development/PhpstormProjects/Search4Venues'),
......来:
'url' => env('APP_URL', 'http://localhost:8888'),
在filesystems.php
,我们必须改变:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
]
......来:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/development/PhpstormProjects/Search4Venues/public/storage',
'visibility' => 'public',
]
然而,他在config/voyager.php
中发现了其他问题:
'assets_path' => '/vendor/tcg/voyager/assets',
...它似乎从路径中遗漏PhpstormProjects/Search4Venues
:
http://localhost:8888/vendor/tcg/voyager/assets/images/bg.jpg
在这个阶段,我们不知道Voyager还有什么问题。
答案 0 :(得分:2)
首先你需要编辑文件.env:
APP_URL=http://localhost
为:
APP_URL=http://yout-site-url
之后你需要编辑文件fylesystem.php,如下所示:
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/public/storage',
'visibility' => 'public',
],
我得到了帮助
答案 1 :(得分:2)
请按照以下步骤操作:
1。将 .env 文件中的 APP_URL 更改为您的网站网址。
例如:
APP_URL=http://localhost
到
APP_URL=http://127.0.0.1:8000
2。通过以下方式创建符号链接:(如果尚未完成)
php artisan storge:link
3。重新启动服务器(必须。否则,将不会应用更改)。
答案 2 :(得分:1)
这是一个常见的问题,甚至提到航海家的官方网站也只是阅读此页https://voyager.readme.io/docs/using-https-on-your-site
在夏季,只需打开文件夹filesystem.php
中的文件config
并删除此行代码'url' => env('APP_URL').'/storage',
答案 3 :(得分:0)
如果我们使用默认端口(如localhost:8000)运行php artisan服务,有时会显示此错误,但如果您将laravel wit voyager放在您自己的服务器中的htdocs / www中,如xampp / mamp等,则此错误将消失,
所以你可以尝试:
感谢' S
答案 4 :(得分:0)
更新的.env文件:
APP_URL=http://localhost:8000
已解决的问题
别忘了重启服务器
答案 5 :(得分:0)
更新的.env文件:
APP_URL=http://localhost/voyager
并更新了filesystems.php
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage/app/public',
'visibility' => 'public',
],
答案 6 :(得分:0)
您需要做的只是更改.env
APP_URL = http://localhost
到
APP_URL = http://<whatever your site is called>
然后将图片文件移至
public users
出于某种原因,旅行者将它们存储在
public users\users
至少对我有用 只需检查Voyager为化身创建的URL,然后将它们移到具有相同URL的公用文件夹中即可。
至少为我工作
答案 7 :(得分:0)
更新您的.env文件
APP_URL=http://localhost:8000
然后运行
php artisan config:clear
最后
重新开始服务
这对我有用。
答案 8 :(得分:0)
APP_URL = http://localhost
到
APP_URL = http://<your site url>
该命令用于删除配置缓存文件并再次创建。
php artisan config:cache
答案 9 :(得分:0)
如果您使用laragon,请更改
'url' => env('APP_URL').'/storage'
到
'url' => env('APP_URL').'./storage'