Laravel 4:使用Artisan命令未生成密钥

19

运行

php artisan key:generate

我可以在我的终端中看到生成的密钥,但是app.php中的变量'key'仍然为空。

使用windows-apache-php 5.4 - mysql在本地主机上运行。

之前从未在laravel 4 beta版本中遇到过这个问题。


1
我遇到了同样的问题,但是在.env文件中成功生成了密钥,将其复制到app.php中是否可以解决问题?我正在使用Laravel 5.0。 - Carlo Espino
8个回答

25

遇到了同样的问题...

  1. 打开 app.php 文件
  2. 删除 'YourSecretKey!!!' 这一项
  3. 运行 'php artisan key:generate'

控制台会显示一个密钥,但在 app.php 中没有任何内容!

解决方法是... 不像 Laravel 3 那样删除 app.php 中的默认 YourSecretKey!!!,只需运行该命令即可。

希望能对您有所帮助。

Bagwaa


1
是的...这就是区别。在laravel3中,我们必须清空字符串,在laravel-4中,我们必须让字符串保留一些内容。感谢Bagwaa。 - kriek

7
您不应该移除原始密钥,只需进入您的项目目录并运行以下命令即可:
php artisan key:generate

如果您不触碰前面的键,则它将正常工作。


6

我在Windows上使用xampp时遇到了L6相同的问题。

  1. 清除缓存配置 php artisan config:clear
  2. 重新生成密钥 php artisan key:generate

希望对您有所帮助。


1
这帮助我在CentOS上安装Handesk。谢谢! - Francisco A. Cerda

5

.env文件需要包含如下一行代码:

APP_KEY=

您不必指定键,但是您至少需要提供一个.env文件并且还需要上述行。


4

首先,输入任何32个字符,例如'hyhyhGGyhyhyhyhy23hyhy23hyhy23hy',然后在终端/cmd中重新执行命令。

步骤1:

进入app --> Config --> app.php

步骤2:

'key' => '10101010101010101010101010101010',在此处输入任何32位数字或字符。

步骤3:

前往终端/cmd,键入:"php artisan key:generate",然后按回车键。

步骤4:

查看密钥已更改 :)

[这是因为在Laravel 4中,我们可以通过使用"php artisan key:generate"简单地替换默认密钥。但如果它是一个空格,它将无法占用该位置。]

享受编程吧 :) \m/


1
密钥生成器仅会更新.env文件中的APP_KEY。
'key' => env('APP_KEY', 'YourSecretKey'), 

config/app.php 此处正在从您的 .env 文件中读取 APP_KEY。第二个参数是备用选项。


1

按照以下简单步骤操作:

  1. 清除缓存配置 php artisan config:clear
  2. 删除现有密钥或确保您的 .env 文件中有此行:APP_KEY=
  3. 重新生成密钥 php artisan key:generate

0
我曾经遇到过同样的问题。从我的项目目录中,我注意到我有一个.env文件,当我在我的代码编辑器Atom中打开该项目时,我发现该文件显示为.env.txt,我删除了.txt部分并运行了命令。这对我起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接