如何为laravel生成.env文件?

时间:2015-04-28 09:27:42

标签: laravel install composer-php laravel-5 environment

documentation我看到它可以创建一个laravel项目 通过laravel安装程序:

$laravel new blog

或通过作曲家:

$composer create-project laravel/laravel --prefer-dist

如果我尝试第一种方式.env文件未创建。 我怎样才能让laravel,artisan或composer为我创建一个.env文件?

10 个答案:

答案 0 :(得分:51)

我尝试了两种方式,并以两种方式生成.env文件:

enter image description here

Composer应该自动创建.env文件。在post-create-project-cmd的{​​{1}}部分,您可以找到:

composer.json

两种方式都使用相同的"post-create-project-cmd": [ "php -r \"copy('.env.example', '.env');\"", "php artisan key:generate" ] 文件,因此没有任何区别。

我建议您将composer.json更新为last version:1.2,然后重试:

laravel/installer

您始终可以通过以下方式手动生成composer global require "laravel/installer=~1.2" 文件:

.env

答案 1 :(得分:18)

在Windows操作系统中,您可以打开命令提示符,将目录更改为项目目录 例如,
我的项目目录

E:\xampp\htdocs\my_project


您可以像这样输入命令提示符(点击输入每一行):

E:

cd xampp\htdocs\my_project

然后你可以输入,

copy .env.example .env

如果您使用的是Linux,则可以输入 cp ,而不是 copy

答案 2 :(得分:14)

我遇到了项目中没有.env文件的问题。

原来我使用的IDE(Netbeans,尽量不判断)会显示某些类型的.hidden文件但不是全部。

在绞尽脑汁之后我检查了文件系统并找到了.env + .env.example文件/用文本编辑器修改它们。

对于罕见的情况,有人使用像我这样的狡猾的IDE。

答案 3 :(得分:5)

如果缺少.env个文件,那么还有另一种方法可以生成.env文件

您可以下载env.example,将其重命名为.env并进行编辑。只需设置正确的DB凭据等。

不要忘记当您使用php artisan key:generate时,它会生成.env文件的新密钥

答案 4 :(得分:2)

Netbeans隐藏了

.env个文件。为了表明他们这样做:

工具>选项>其他>文件

在忽略的文件下,IDE是忽略的文件模式:

默认为

^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore)$).*$

将env添加到排除未排除的位

^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(env|htaccess|git.+|hgignore)$).*$

现在显示名为.env的文件。

答案 5 :(得分:2)

在console(cmd)中,转到app root path并执行:

type .env.example > .env

答案 6 :(得分:1)

如果您无法查看 .env 文件,或者该文件未显示在项目中,请执行以下操作:ls -a
这样可以查看Linux中的隐藏文件。您还可以使用Visual Studio Code打开该文件夹,您将看到文件并能够对其进行修改。

答案 7 :(得分:0)

这是一个旧线程,但由于它在26天前仍然被查看并且最近处于活动状态,因此这是一个快速解决方案。

最初没有 .env 文件,您必须将 .env.example 复制为 .env

Windows 中,您可以打开命令提示符,又称 CLI ,并在根目录中粘贴下面的确切代码项目。必须包含在没有空格的起始行。

(
echo APP_NAME=Laravel
echo APP_ENV=local
echo APP_KEY=
echo APP_DEBUG=true
echo APP_URL=http://localhost
echo.
echo LOG_CHANNEL=stack
echo.
echo DB_CONNECTION=mysql
echo DB_HOST=127.0.0.1
echo DB_PORT=3306
echo DB_DATABASE=homestead
echo DB_USERNAME=homestead
echo DB_PASSWORD=secret
echo.
echo BROADCAST_DRIVER=log
echo CACHE_DRIVER=file
echo SESSION_DRIVER=file
echo SESSION_LIFETIME=120
echo QUEUE_DRIVER=sync
echo.
echo REDIS_HOST=127.0.0.1
echo REDIS_PASSWORD=null
echo REDIS_PORT=6379
echo.
echo MAIL_DRIVER=smtp
echo MAIL_HOST=smtp.mailtrap.io
echo MAIL_PORT=2525
echo MAIL_USERNAME=null
echo MAIL_PASSWORD=null
echo MAIL_ENCRYPTION=null
echo.
echo PUSHER_APP_ID=
echo PUSHER_APP_KEY=
echo PUSHER_APP_SECRET=
echo PUSHER_APP_CLUSTER=mt1
echo.
echo MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
echo MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
)>".env"

只需按Enter键即可退出提示,您应该拥有.env文件,其中包含您在CLI命令上方输入的同一目录中创建的默认设置。

希望这有帮助。

答案 8 :(得分:0)

还有另一种原因解释为什么.env不存在,并且在您移动所有Laravel文件时会发生这种情况。

执行此工作流程:在项目目录中执行laravel new whatever,在whatever中安装Laravel,然后执行mv * ..将所有文件移动到项目文件夹,然后删除{ {1}}。问题是,whatever在默认情况下不会移动隐藏文件,因此mv文件被留下并被删除!

答案 9 :(得分:-1)

使用命令创建.env!

composer运行post-root-package-install 要么 sudo composer运行post-root-package-install