如何为生产或子域系统创建 laravel 存储符号链接?

新手上路,请多包涵

当我在 laravel 本地开发服务器上工作时 php artisan storage:link 对我来说很好。但是当我将我的站点转移到生产服务器时,我看到我的公共存储链接是一个文件夹。然后我删除了试图创建链接的内容。我收到一个错误,因为我的应用程序位于根文件夹中并试图解决此问题。

原文由 Mizanur Rahman Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 288
2 个回答

我通过终端/cmd/shh 创建符号链接的另一个命令解决了这个问题:

 ln -s /path/to/laravel/storage/app/public /path/to/public/storage

我也解决了这个问题使用 laravel web route routes/web.php

 Route::get('/foo', function () {
    Artisan::call('storage:link');
});

原文由 Mizanur Rahman Khan 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是在生产服务器中对我有用的代码

 Route::get('/linkstorage', function () {
    $targetFolder = base_path().'/storage/app/public';
    $linkFolder = $_SERVER['DOCUMENT_ROOT'].'/storage';
    symlink($targetFolder, $linkFolder);
 });

原文由 Joynal Abedin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题