如何为 laravel 生成 .env 文件?
Posted
技术标签:
【中文标题】如何为 laravel 生成 .env 文件?【英文标题】:How to generate .env file for laravel? 【发布时间】:2015-07-07 01:45:29 【问题描述】:从documentation 我看到可以创建一个 laravel 项目 通过 laravel 安装程序:
$laravel new blog
或通过作曲家:
$composer create-project laravel/laravel --prefer-dist
如果我尝试第一种方法,则不会创建 .env 文件。 如何让 laravel、artisan 或 composer 为我创建一个 .env 文件?
【问题讨论】:
你至少应该有一个.env.example
。您是否有可能因为文件被隐藏而看不到该文件? (以.
开头)
【参考方案1】:
刚刚尝试了两种方式,两种方式都生成了.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
【讨论】:
我的 composer.json 上没有 laravel/installer 怎么办?只需 laravel/framework 在 require 和 laravel/homesead 在 require-dev... =/ - 但是手动创建它效果很好。 谢谢,当我将一个项目从我的存储库克隆到另一个系统时,我需要它,它工作得很好。【参考方案2】:在 windows 操作系统中,您可以打开命令提示符,将目录切换到您的项目目录。 示例, 我的项目目录
E:\xampp\htdocs\my_project
您可以像这样在命令提示符中输入(按输入每一行):
E:
cd xampp\htdocs\my_project
然后你就可以打字了,
copy .env.example .env
如果您使用的是 Linux,您可以输入 cp,而不是 copy
【讨论】:
【参考方案3】:我遇到了项目中没有显示 .env 文件的问题。
原来我使用的 IDE(Netbeans,尽量不要判断)会显示某些类型的 .hidden 文件,但不是全部。
绞尽脑汁后,我检查了文件系统并找到了 .env + .env.example 文件/用文本编辑器修改了它们。
对于像我这样使用狡猾的 IDE 的罕见情况,请留下这个答案。
【讨论】:
是的,这也是我的问题。好的 IDE 最后完成.. :D 问题询问如何 generate 不显示,但由于这被标记为正确答案,我添加了一个答案,告诉您如何在 Netbeans 中显示 .env而不是退出以使用另一个 IDE。 @Popnoodles 是的,这个答案只是指出了其他可能困扰提问者的潜在问题。坦率地说,当时的快速修复是使用记事本编辑器——但我什至不知道 OP 是否使用 Netbeans——它可能是任何其他 IDE 都有类似问题。这个问题的最佳答案是 limonte,因为 OP 没有编辑他的问题以使其特定于 Netbeans。【参考方案4】:如果.env
一个文件丢失了,那么还有另一种方法可以生成一个.env文件
您可以下载env.example,将其重命名为.env
并进行编辑。只需设置正确的数据库凭据等。
不要忘记当您使用php artisan key:generate
时,它会为您的.env
文件生成新密钥
【讨论】:
请指定放置此文件的位置。 你的应用程序的根目录需要有一个.env
文件,你可以留在那里【参考方案5】:
在控制台(cmd)中,进入应用根路径并执行:
type .env.example > .env
也可以使用:
在 Windows 中:
copy .env.example .env
在 Linux/Mac 中:
cp .env.example .env
【讨论】:
【参考方案6】:.env
文件被 Netbeans 隐藏。要向他们展示这样做:
工具 > 选项 > 其他 > 文件
在 Files Ignored be the IDE is Ignored Files Pattern 下:
默认是
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(htaccess|git.+|hgignore)$).*$
将 env 添加到排除-未排除位
^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(?!(env|htaccess|git.+|hgignore)$).*$
现在显示名为 .env
的文件。
【讨论】:
【参考方案7】:使用命令创建 .env!
composer 运行 post-root-package-install 要么 sudo composer run post-root-package-install
【讨论】:
【参考方案8】:这是一个旧线程,但由于它仍然在“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 键退出提示,您应该会在您在上面输入 CLI
命令的同一目录中创建具有默认设置的 .env
文件。
希望这会有所帮助。
【讨论】:
【参考方案9】:还有另一种解释为什么 .env
不存在,当你移动所有 Laravel 文件时会发生这种情况。
采用这个工作流程:在您的项目目录中您执行laravel new whatever
,Laravel 安装在whatever
,您执行mv * ..
将所有文件移动到您的项目文件夹,然后您删除whatever
。问题是mv
默认不移动隐藏文件,所以.env
文件被留下,被删除了!
【讨论】:
【参考方案10】:如果您在查看 .env 文件时遇到问题,或者它没有显示在项目中,请执行以下操作:ls -a
。
这允许查看 Linux 中的隐藏文件。您也可以使用 Visual Studio Code 打开该文件夹,您将看到这些文件并能够对其进行修改。
【讨论】:
以上是关于如何为 laravel 生成 .env 文件?的主要内容,如果未能解决你的问题,请参考以下文章