为了账号安全,请及时绑定邮箱和手机立即绑定

将 Laravel 核心文件移动到 private_html 目录

将 Laravel 核心文件移动到 private_html 目录

PHP
侃侃无极 2023-10-01 16:59:37
作为安全预防措施,我的老板要求我将 Laravel 7 应用程序移出 public_html 文件夹并移至 private_html 中。所以我的目录结构如下所示:public_html/public/private_html/ <-- All the rest of the Laravel core files, app, config, routes, .env, etc.现在,正如预期的那样,自从我移动了文件后,当我访问该网站时,我收到了 HTTP ERROR 500。我如何告诉 Laravel 我的公共文件夹在哪里,以便可以返回服务我的网页?我需要编辑哪些配置文件?谢谢你的帮助。编辑 1:在尝试了 Youssef 的建议之后,一切都很好,除了我跑步的时候php artisan storage:link我得到:编辑2:我能够通过打开 config/filesystems.php 并更改来修复“php artisan storage:link”:'links' => [     public_path('storage') => storage_path('app/public'), ],到:'links' => [     '/new/directory/public_html/public/storage' => storage_path('app/public'), ],然后,当我输入:php artisan storage:link创建了一个新的符号链接。
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

在 public/index.php 中将这两个文件的路径更改为它们的当前路径。


autoload.php的第一行路径


__DIR__.'/../vendor/autoload.php';


require __DIR__.'/../../private_html/vendor/autoload.php';

app.php的第二行路径


$app = require_once __DIR__.'/../bootstrap/app.php';


$app = require_once __DIR__.'/../../private_html/bootstrap/app.php';

并将其放入\App\Providers\AppServiceProvider register()设置公共目录路径的方法中。


**

 * Register any application services.

 *

 * @return void

 */

public function register()

{

    // ...


    $this->app->bind('path.public', function() {

        return base_path().'/../public_html/public';

    });

}

最后,如果您需要直接访问存储的文件,请使用命令重新分配存储目录的路径:


php artisan storage:link

您还可以将所有文件从 移动public_html/public到public_html并调整我上面提到的路径


查看完整回答
反对 回复 2023-10-01
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信