Laravel Storage不与公共存储文件夹同步

时间:2016-12-21 10:45:06

标签: php laravel-5.3

当我在本地工作时,我可以将文件保存在存储中,它们会自动显示在public/storage目录中。现在我已将同一项目转移到共享服务器,但存储似乎与public/storage目录不同步。

这是我存储文件的方式:

$path = 'app/public/images';
$img->save(storage_path($path.'/photo.jpg'));

这就是我检索它的方式:

Storage::url('public/images/photo.jpg);

注意:我在本地使用php artisan storage:link链接了存储空间,我不知道是否需要再次执行此操作(如果可能,这可能会很困难,因为我在共享主机上)现在我在不同的服务器上。

2 个答案:

答案 0 :(得分:0)

我在共享主机上部署了一些项目,我发现了相同的错误,并且带有路径的商店图片的问题是因为索引根在共享托管中不同。你可以像这样解决:

$my_public = 'home/username/public_thml/your_project_laravel/'
$path = 'app/public/images';
$img->save($my_public.$path.'/photo.jpg'));

您需要指定共享托管的路径,其他方式是更改共享托管中的公共html的根目录,但它会更改您帐户中的所有引用路径,如果您在同一主机中的其他网站不是好的解决方案。

答案 1 :(得分:0)

我所要做的就是对存储目录进行符号链接。但是,我无法使用php artisan storage:link,因为我的主机不支持SSH。相反,我使用了this solution