Laravel 8:符号 Link 未出现在 public 中

Laravel 8: Symbolic Link not appearing in public

符号链接有问题。在我 运行 这个命令之后 php artisan storage:link 上传的图像显示在 public 和存储文件夹中。 我可以使用此代码显示我的 img

<img src="{{ url('/storage/app/public/Attachments/test.png') }}" alt="">

但一天后 public 中图像文件夹的快捷方式消失了,当我 运行 php artisan storage:link 它说已链接。

我现在的问题是我无法显示图像。

我看到了类似的问题,但它对我不起作用。请帮助大家。谢谢,注意安全。

在您的 public 文件夹中创建一个 .php 文件并放入以下代码,然后从您的网络浏览器访问 .php 页面

<?php

$target = '../storage/app/public';

$shortcut = '/storage';

symlink($target, $shortcut);

?>

现在您的 public/storage 文件夹将指向 /storage/app/public

如果您将项目从一台计算机移动到另一台计算机,就会发生这种情况。当您将文件夹复制到另一台计算机时,它会将 symlink 文件夹视为另一个文件夹。所以当你 运行 php artisan storage:link 它只会说你已经创建了 symlink 但你的文件不会显示,因为 shortcut to foldersymlink 没有真实存在

解决方案:

您需要做的是转到 public 文件夹并删除存储文件夹。然后再次运行 php artisan 命令,你的问题就解决了。