如何为 laravel 生成 .env 文件?

How to generate .env file for laravel?

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

$laravel new blog

或通过作曲家:

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

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

两种方法都试过了,两种方法都生成了.env文件:

Composer 应该会自动创建 .env 文件。在 composer.jsonpost-create-project-cmd 部分,您可以找到:

"post-create-project-cmd": [
  "php -r \"copy('.env.example', '.env');\"",
  "php artisan key:generate"
]

两种方式使用相同的composer.json文件,所以应该没有什么区别。

我建议您将 laravel/installer 更新为 last version: 1.2 并重试:

composer global require "laravel/installer=~1.2"

您始终可以通过 运行:

手动生成 .env 文件
cp .env.example .env
php artisan key:generate

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

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

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

为像我这样使用狡猾 IDE 的罕见情况留下这个答案。

.env 个文件被 Netbeans 隐藏。要向他们展示这样做:

工具 > 选项 > 杂项 > 文件

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

默认为

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

将 env 添加到 excluded-not-excluded 位

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

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

在windowsOS中,您可以打开命令提示符,将目录更改为您的项目目录。
例如,
我的项目目录

E:\xampp\htdocs\my_project


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

E:

cd xampp\htdocs\my_project

然后你可以输入,

copy .env.example .env

如果您使用 Linux,您可以键入 cp,而不是 复制

在控制台 (cmd) 中,转到应用根路径并执行:

type .env.example > .env

也可以使用:

在Windows中:

copy .env.example .env

在Linux/Mac中:

cp .env.example .env

如果.env一个文件丢失,那么还有另一种生成.env文件的方法

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

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

这是一个旧线程,但由于它仍然被查看并且最近活跃于“26”天前post,这里是一个快速解决方案。

最初没有.env文件,你必须复制.env.example作为.env

windows 中,您可以打开 命令提示符 又名 CLI 并在项目的 根目录 中粘贴下面的确切代码。必须在没有 space.

的起始行包含 (
(
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 键退出提示,您应该会在上面键入 CLI 命令的同一目录中创建具有默认设置的 .env 文件。

希望对您有所帮助。

使用命令创建 .env!

作曲家 运行 post-root-package-install 要么 sudo composer 运行 post-root-package-install

对于为什么 .env 不存在还有另一种解释,当您移动所有 Laravel 个文件时会发生这种情况。

采用此工作流程:在您的项目目录中执行 laravel new whatever,Laravel 安装在 whatever,您执行 mv * .. 将所有文件移动到您的项目文件夹,然后删除 whatever。问题是,mv 默认不移动隐藏文件,所以 .env 文件被留下,并被删除!

如果您在查看 .env 文件时遇到问题,或者它没有出现在项目中,请执行以下操作:ls -a.
这允许查看 Linux 中的隐藏文件。您也可以使用 Visual Studio 代码打开文件夹,您将看到文件并能够修改它们。