如何为 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.json
的 post-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 代码打开文件夹,您将看到文件并能够修改它们。
从 documentation 我看到可以创建一个 laravel 项目 通过 laravel 安装程序:
$laravel new blog
或通过作曲家:
$composer create-project laravel/laravel --prefer-dist
如果我尝试第一种方法,则不会创建 .env 文件。 我怎样才能让 laravel、artisan 或 composer 为我创建一个 .env 文件?
两种方法都试过了,两种方法都生成了.env
文件:
Composer 应该会自动创建 .env 文件。在 composer.json
的 post-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 代码打开文件夹,您将看到文件并能够修改它们。