【问题标题】:Set location of laravel .env设置 laravel .env 的位置
【发布时间】:2016-07-07 18:14:09
【问题描述】:

所以我刚刚发布了一个 laravel 构建到我的生产服务器。但是 .env 文件在我上传时是可读的。所以我把它上传到我网站的根目录旁边的public_html/ 目录。

我的问题是:如何告诉 laravel .env 文件的位置?当我将它放在public_html/ 文件夹中时它起作用了,但是我如何告诉它在根文件夹中查找?

【问题讨论】:

    标签: php laravel deployment laravel-5.2 env


    【解决方案1】:

    bootstrap/app.php

    中添加代码
    $app = new Gecche\Multidomain\Foundation\Application(
        $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__),
        dirname(__DIR__) . DIRECTORY_SEPARATOR . 'envfolder'
    );
    

    【讨论】:

      【解决方案2】:

      我最终设置了一个从 public 到 public_html 的符号链接,一切都按预期工作

      【讨论】:

        【解决方案3】:

        bootstrap/app.php中设置环境路径:

        $app->useEnvironmentPath($env_path);
        

        例如,我的项目的目录布局:

         webapp 
         -laravel 
         -public
         -.env
        

        环境文件的自定义路径

        $app->useEnvironmentPath(
          dirname(__DIR__, 2)
        );
        

        【讨论】:

          【解决方案4】:

          这样你可以从其他位置访问.env文件,但不利于安全。

          你的项目/bootstrap/app.php

          $app = new Illuminate\Foundation\Application( 真实路径(DIR.'/../') );

          $app->useEnvironmentPath(base_path('foldername/'));

          将此代码添加到 .htaccess 文件中以确保安全

          <Files .env>
          order allow,deny
          Deny from all
          </Files>
          

          【讨论】:

            【解决方案5】:

            您需要上传到public_html 的是 Laravel 安装中public 目录的内容,包括客户端应该可以访问的任何 JavaScript 文件、CSS 文件或图像,其他所有内容都应该放在公共目录之外。

            【讨论】:

              【解决方案6】:

              正如您在official documentation 中看到的那样,.env 文件必须位于您的 Laravel 应用程序的根目录中。无法更改文件位置(我认为也没有意义)。

              此外,根文件夹不应是公用文件夹,因为 .env 不应公开访问,否则它的主要安全目的将完全丧失。

              【讨论】:

              • 是的,但这就是我所做的,现在它在公共目录中工作时找不到 .env 文件。我该怎么办?
              • 虽然可能不需要更改位置,但当您构建具有多个后端(laravel、slim、express 等)的示例应用程序并且您希望放置每个后端时,这可能会有所帮助框架在它自己的文件夹中。为了避免冗余,人们希望将一个 .env 文件放在这些文件夹上方的根文件夹中。
              猜你喜欢
              • 2021-11-23
              • 2016-10-08
              • 2021-07-07
              • 1970-01-01
              • 2017-12-05
              • 2019-02-19
              • 2015-08-27
              • 2022-11-16
              • 2023-03-10
              相关资源
              最近更新 更多