【问题标题】:Laravel symlink and cPanelLaravel 符号链接和 cPanel
【发布时间】:2018-12-15 00:59:51
【问题描述】:

在我的 Laravel 网站上,我使用符号链接来存储和显示存储中的图像。

php artisan storage:link

我已经创建了符号链接,每次上传新新闻文章时,图像都会上传到主存储中,并通过符号链接将其设置到公用文件夹,并且我可以正确显示图像。

到目前为止一切顺利,但是当我创建了网站的副本时,出现了问题...

当我使用 cPanels 文件管理器创建网站副本并移动到新位置时,公共目录中的存储符号链接已成为文件夹,而不是符号链接。 之后,当我尝试上传新的新闻文章时,我可以看到它已上传到主 Storage 文件夹中,但不在 public/storage 中,因此图像未显示。那是因为它不再是符号链接,但现在它是一个文件夹。

我已经从公共目录中删除了 storage 文件夹,使用 SSH 我再次使用了该命令

php artisan storage:link

我创建了一篇新的新闻文章,图片可以正常显示,但现在所有其他图片都不见了。

是否有任何命令可以重新生成路径,以便再次显示所有其他图像?

我正在使用 Laravel 5.5

【问题讨论】:

标签: laravel symlink


【解决方案1】:
  1. 你可以用另一种方式解决它,创建一个 symlinkexample.php 文件 进入您的公用文件夹并将文件路径运行到浏览器中。
  2. 然后存储文件夹将被创建到公用文件夹中。文件夹路径 将是公共/存储并链接到您的公共文件夹。

symlinkexample.php 的代码如下:

<?php
    $targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
    $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';
    symlink($targetFolder,$linkFolder);
    echo 'Symlink process successfully completed';
?>

【讨论】:

    【解决方案2】:

    试试这个:

    在 route/web.php 中添加如下代码:

    Route::get('/storage', function(){
        \Artisan::call('storage:link');
        return "Se han vinculado las imágenes";
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-28
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2018-07-16
      • 2018-06-20
      • 1970-01-01
      相关资源
      最近更新 更多