我们在Symfony应用上收到此错误:
[Thu Aug 03 08:51:32.736638 2017] [proxy_fcgi:error] [pid 22386] [client 66.249.93.215:58094] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Symfony\\Component\\Debug\\Exception\\FatalThrowableError: Call to a member function get() on null in /path/to/my/service.php:22
它出现的代码行是onKernelRequest
侦听器:
if (!empty($request->getSession()->get('_locale')))
我认为这意味着$request
有一个空Session
,但无法找到原因。
我们确定只会在Google抓取工具访问时抛出此错误,但我们无法弄清楚如何停止此错误。
我找到的唯一解决方案是创建一个新的Session
并将其分配给Request
,如果它为null,但它看起来不那么干净也不安全。
if(null === $request->getSession()) {
$session = new Session();
$request->setSession($session);
}
有关如何阻止这些错误的想法吗?
谢谢!
答案 0 :(得分:0)
if ($request->getSession() !== null && !empty($request->getSession()->get('_locale')))