错误信息: 服务“uri_signer”依赖于不存在的参数 “内核 secret ”。您的意思是:“kernel.charset”吗?
index.php 详细信息是:
<?php
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Debug\Debug;
use App\Kernel;
require './vendor/autoload.php';
// 开启调试
Debug::enable();
// 实例化请求
$request = Request::createFromGlobals();
// 实例化内核
$kernel = new Kernel('dev', true);
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
app/Kernel.php 详细信息是:
<?php
namespace App;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
class Kernel extends BaseKernel{
public function registerContainerConfiguration(LoaderInterface $loader)
{
// $confDir = $this->getProjectDir() . "/config";
// $loader->load($confDir . "/app.php");
// $this->set
}
public function registerBundles()
{
$contents = [
\Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
];
foreach ($contents as $class => $envs) {
if (isset($envs["all"]) || isset($envs[$this->environment])) {
yield new $class();
}
}
}
protected function configureContainer(ContainerBuilder $container) {
// code invalid
$container->setParameter("kernel.secret", "abck");
}
}
composer.json 详细信息是:
{
"require": {
"php": "^7.2.0",
"symfony/http-foundation": "^4.1",
"symfony/http-kernel": "^4.1",
"symfony/config": "^4.1",
"symfony/dependency-injection": "^4.1",
"symfony/framework-bundle": "^4.1"
},
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
下次运行,显示:
我用symonfy组件一一安装然后运行,发现提示找不到kernel.secret。谷歌了半天也没找到解决办法,网上的答案是解决symfony现有的框架。我希望告诉我如何解决这个问题。谢谢
最佳答案
出现此错误有一个新原因:
framework.secret
过去在 MicroKernelTrait
中设置。
看看提交 [FrameworkBundle] Remove reference to APP_SECRET in MicroKernelTrait其中这一行已被删除:
$container->loadFromExtension('framework', [
'secret' => '%env(APP_SECRET)%' // <== removed
...
解决方案:
自行设置配置:
# config/packages/framework.yaml
framework:
secret: '%env(APP_SECRET)%'
关于php - Symfony 运行提示 kernel.secret 参数未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51341212/