cakephp - Security.salt 问题
问题描述
我有一个运行 PHP 7.2.14 和 CakePHP 3.7.9 的 docker 容器
我看到的问题是由于某种原因 Security.salt 是空的。这是 app.php 文件中的标准行:
'Security' => [
'salt' => env('SECURITY_SALT', 'mySalt')
],
当我检查代码中的值时,Configure::read('Security.salt')
它是空的。如果我把error_log(env('SECURITY_SALT', 'blah'));
我blah
在日志文件中看到。所以这意味着env()
工作正常,盐应该设置为mySalt
.
那么这是一个错误并以某种方式Security.salt
被覆盖吗?还是仅在内部使用并在内部读取后设置为 null 的默认行为?
解决方案
还是仅在内部使用并在内部读取后设置为 null 的默认行为?
这有点像它的工作原理,是的。在 3.7 应用程序模板中,某些配置在某些时候被“使用”,默认情况下是Cache
, Datasources
, EmailTransport
, Email
, Log
, 和Security.salt
,请参阅您的应用程序config/bootstrap.php
文件。
https://github.com/cakephp/app/blob/3.7.1/config/bootstrap.php#L150-L155
如果您想稍后访问此类配置,那么您应该通过使用它的类来访问它,在您的情况下是Security
类,即通过
\Cake\Utility\Security::getSalt()
也可以看看
推荐阅读
- xslt - 使用另一个 XSLT 组合来自多个 XSLT 的响应
- docker - 无法在 nginx rtmp 模块上运行 exec
- java - 时不时地“spring.cloud.stream.kafka.binder.brokers”值即使设置也没有解决
- python - 将 KNN 应用于 Python 中包含二进制(零和一)评级的数据集
- pytorch - 在 PyTorch 中根据参数计算简单 NN 的 Hessian 矩阵
- parameters - 通过用户提供的参数进行 Google Data Studio 条件格式
- c++ - 可以向一个精灵添加多个边界框并在 SFML 中调整它们的大小吗?
- windows - 如何捕获带有空格和尾部反斜杠的路径的命令行参数?
- flutter - 在 _WidgetsAppState 中找不到路由 RouteSettings("login", null) 的生成器。我不知道为什么会这样
- firebase - 密钥哈希与 facebook 集成中存储的任何密钥哈希都不匹配