设置laravel .env的位置

时间:2016-03-21 09:47:34

标签: php laravel deployment laravel-5.2 env

所以我刚刚向我的生产服务器发布了一个laravel版本。但是当我上传它时,.env文件是可读的。所以我将它上传到我public_html/目录旁边的网站的根目录。

我的问题是:如何告诉laravel .env文件的位置?我在public_html/文件夹中使用它时有效但是如何告诉它查看根文件夹?

5 个答案:

答案 0 :(得分:2)

bootstrap / app.php 中设置env路径:

$app->useEnvironmentPath($env_path);

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

 webapp 
 -laravel 
 -public
 -.env

env文件的自定义路径

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

此外,根文件夹SHOULDN' T是公共文件夹,因为.env不应该公开访问,否则它的主要安全目标将完全丢失。

答案 3 :(得分:0)

这样您就可以从其他位置访问.env文件,但这对安全性不利。

您的项目/引导/ app.php

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

$ APP-> useEnvironmentPath(BASE_PATH( '文件夹名/'));

在.htaccess文件中添加此代码以确保安全性

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

答案 4 :(得分:0)

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