我有一个运行PHP7.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()工作正常,并且salt应设置为mySalt。
那么这是一个错误,不知何故,Security.salt被覆盖了吗?或者该默认行为仅在内部使用,并在内部读取后设置为null?
发布于 2020-01-18 09:16:26
,还是仅在内部使用并在内部读取后设置为null默认行为?
是的,这就是它的工作原理。在3.7应用程序模板中,某些配置正在被“消耗”,默认情况下是Cache、Datasources、EmailTransport、Email、Log和Security.salt,请参阅应用程序config/bootstrap.php文件。
如果你想在以后访问这样的配置,那么你应该通过使用它的类来访问它,在你的例子中是Security类,即通过读取它
\Cake\Utility\Security::getSalt()另请参阅
https://stackoverflow.com/questions/59796668
复制相似问题