Ben*_*min 5 php environment-variables symfony symfony5
我正在尝试在 Symfony 5 中设置秘密管理器。我遵循了秘密管理设置课程和如何保留敏感信息秘密文档。
\n\n我的应用程序现在正在触发:
\n\nFatal Error: Maximum execution time of 30 seconds exceeded\nEnvironment variable not found: "DATABASE_URL".\n
Run Code Online (Sandbox Code Playgroud)\n\n正如文档所说,我DATABASE_URL
从我的输出中删除.env
并使用了php bin/console secrets:set DATABASE_URL
which 输出:
[OK] Sodium keys have been generated at "config/secrets/dev/dev.*.public/private.php".\n\n\n !\n ! [CAUTION] DO NOT COMMIT THE DECRYPTION KEY FOR THE PROD ENVIRONMENT\xe2\x9a\xa0\xef\xb8\x8f\n !\n\n\n [OK] Secret "DATABASE_URL" encrypted in "config/secrets/dev/"; you can commit it.\n
Run Code Online (Sandbox Code Playgroud)\n\n这是结果php bin/console secrets:list
:
// Use "%env(<name>)%" to reference a secret in a config file.\n ------------------- -------- -------------\n Secret Value Local Value\n ------------------- -------- -------------\n DATABASE_URL ******\n ------------------- -------- -------------\n
Run Code Online (Sandbox Code Playgroud)\n\n这是我如何使用%env%
的config/packages/doctrine.yaml
:
Fatal Error: Maximum execution time of 30 seconds exceeded\nEnvironment variable not found: "DATABASE_URL".\n
Run Code Online (Sandbox Code Playgroud)\n\n我正在使用 PHP 7.2.21 并遵循文档:
\n\n\n\n\nSecrets 系统需要与 PHP 7.2 捆绑在一起的钠 PHP 扩展。如果您使用的是早期 PHP 版本,则可以安装 libsodium PHP 扩展或使用paragonie/sodium_compat包。
\n
Symfony 控制台还是要求我安装paragonie/sodium_compat
polyfill,我就这么做了。
我的应用程序不再工作了。我缺少什么?
\n\n事实证明,问题出在 paragonie/sodium_compat 包上。之前的最后一条调试消息Fatal Error: Maximum execution time of 30 seconds exceeded
是:
timeParagonIE_Sodium_Core_Util::mul() vendor/paragonie/sodium_compat/src/Core/Curve25519.php:756\n
Run Code Online (Sandbox Code Playgroud)\n\n所以 Symfony 无法获取环境变量并触发错误。
\n\n然后我尝试解密秘密并将其存储在其中.env.dev.local
以避免在每次请求时使用以下命令解密它们:
[OK] Sodium keys have been generated at "config/secrets/dev/dev.*.public/private.php".\n\n\n !\n ! [CAUTION] DO NOT COMMIT THE DECRYPTION KEY FOR THE PROD ENVIRONMENT\xe2\x9a\xa0\xef\xb8\x8f\n !\n\n\n [OK] Secret "DATABASE_URL" encrypted in "config/secrets/dev/"; you can commit it.\n
Run Code Online (Sandbox Code Playgroud)\n\n但 Symfony 一直在解密并且不使用.env.dev.local
.
归档时间: |
|
查看次数: |
3300 次 |
最近记录: |