在我的Laravel网站上,我使用符号链接来存储和显示存储中的图像。
具有
php artisan storage:link
我已经创建了符号链接,每次我上传一篇新的新闻文章时,图像都会上传到主存储器中,并使用符号链接将其设置到公用文件夹中,并且我会正确显示图像。
到目前为止还不错,但当我创建了一个网站副本时,出现了一个问题。。。
当我使用cPanels文件管理器创建网站副本并移动到新位置时,公用目录中的存储符号链接已成为文件夹,而不是符号链接。之后,当我尝试上传一篇新的新闻文章时,我可以看到它被上传到主存储文件夹中,但不在公共/存储中,因此图像不会显示。这是因为它不再是一个符号链接,但现在它是一个文件夹。
我已经从公共目录中删除了存储文件夹,使用SSH我再次使用了该命令
php artisan storage:link
我创建了一篇新的新闻文章,图像显示正常,但现在所有其他图像都消失了。
是否有任何命令将重新生成路径,以便再次显示所有其他图像?
我用的是拉威尔5.5
symlinkexample.php代码如下:
<?php
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
symlink($targetFolder,$linkFolder);
echo 'Symlink process successfully completed';
?>
试试这个:
在路由/web.php中添加以下代码:
Route::get('/storage', function(){
\Artisan::call('storage:link');
return "Se han vinculado las imágenes";
});