【问题标题】:How to link public storage without ssh access or cron jobs?如何在没有 ssh 访问或 cron 作业的情况下链接公共存储?
【发布时间】:2022-01-16 19:25:47
【问题描述】:

我需要部署一个 laravel 应用程序,它使用 storage 文件夹作为 public storage,但我没有 ssh access。我正在尝试寻找替代品:

php artisan storage:link

我通过将这条路线放入web.php 中找到了这个线程:Generating a link

Route::get('generate', function (){ \Illuminate\Support\Facades\Artisan::call('storage:link'); echo 'ok'; });

但这并没有解决问题。我做错了吗?如何链接公共存储?

编辑:我尝试部署到的糟糕服务器不提供 cron 作业。

【问题讨论】:

  • 它做了什么?当调用 URL http://example.com/generate 时会发生什么?没有?错误? (example.com 这里是你的网站)
  • 一切正常,除了网站无法加载公共存储中的图像。所以他们显示损坏的图标。
  • 那么运行命令没有错误?检查日志以防那里弹出任何内容
  • 运行刚才创建的路由有什么错误吗?
  • 确保您没有上传任何配置缓存并检查您是否上传了正确的 .env 文件

标签: laravel ssh deployment laravel-artisan shared-hosting


【解决方案1】:

如果可用并在第一次运行作业后创建一个玉米作业。删除这个

ln -s /home/user/laravel/storage/app/public /home/user/public_html/storage

【讨论】:

  • 我刚刚注意到糟糕的服务器甚至不提供 cron 作业。感谢您的回答,但还有其他方法吗?
  • 我已经编辑了问题,不必创建新帖子。对不起,它使您的答案无效。尽管如此,你还是帮了我!
【解决方案2】:

问题是我不明白如何正确使用存储链接路由。我不得不补充:

Route::get('/linkstorage', function (){
    \Illuminate\Support\Facades\Artisan::call('storage:link');
    echo 'storage linked!';
});

web.php 并实际导航到domain-name/linkstorage 以触发artisan call。之后,存储被链接,一切正常。

【讨论】:

    猜你喜欢
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    相关资源
    最近更新 更多