【发布时间】:2015-08-01 08:58:47
【问题描述】:
我正在试用 PHP 微框架 Lumen(来自 Laravel)。
我的第一步是查看.env.example 文件并复制它以获得我的.env 文件。有一个变量 APP_KEY 就像在 Laravel 中一样。现在我尝试了简单的命令php artisan key:generate 来获取我的新密钥但是我遇到了以下错误消息:
[InvalidArgumentException] “key”中没有定义命令 命名空间。
有人知道我如何为 Lumen 生成密钥吗?
更新解决方案
所以我找到了我最喜欢的解决这个问题的方法。在命令行 (Linux) 上,我运行 php -r "echo md5(uniqid()).\"\n\";" 这给了我类似 7142720170cef01171fd4af26ef17c93 的东西。
如果您要更频繁地使用 Lumen,您可能需要在您的 .bashrc 中创建一个别名,该别名位于您的主目录 /home/USERNAME 中。为此,您可以使用nano ~/.bashrc 或vi ~/.bashrc 打开文件,并在文件末尾复制以下别名alias phpkey='php -r "echo md5(uniqid()).\"\n\";"'。现在你可以使用命令phpkey,它会给你一个32个字符长的随机字符串:)
【问题讨论】:
-
使用快速散列函数,如 md5,不会增加熵,
uniqid是“随机性”的低熵源。请使用@lukasgeiter 提供的解决方案,因为str_random从加密安全的随机数生成器中提取字节。