【发布时间】:2015-12-17 06:58:54
【问题描述】:
我刚刚在网上上传了我的 Symfony (2.7) 项目,我在 prod 环境 (app.php) 中仅在线发生了 500 错误。我在 app.php 文件中设置了$kernel = new AppKernel('prod', true); 以查看错误消息:
错误:无法使用 Symfony\Component\HttpFoundation\Request 类型的对象作为数组
在第 143 行的 vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php 中
}
if (null !== $this->logger) {
// Below is line 143
$this->logger->info(sprintf('Matched route "%s".', isset($parameters['_route']) ? $parameters['_route'] : 'n/a'), array(
'route_parameters' => $parameters,
'request_uri' => $request->getUri(),
));
(此文件是 Symfony 的一部分,请参阅完整代码 here。)
在本地 (WAMP) 中,我使用 app.php 或 app_dev.php 没有问题。
在线,app_dev.php 运行良好,但尝试访问http://mydomain.fr/web/ 时出现此错误。
我有点迷路了,如果您需要更多信息,请询问我应该在这个问题中复制哪个文件。
只是为了看看会发生什么,我在 RouterListener.php 中评论了记录器行,我显示了另一个不同的错误。我想我的服务器配置有问题或类似的东西......但我不知道我应该看什么。
【问题讨论】:
-
我很确定您的
$parameters变量实际上是Request对象。 -
您必须向我们展示完整的方法代码,而不仅仅是有问题的行。
-
github.com/symfony/HttpKernel/blob/2.7/EventListener/… 但我不想(也不认为我必须)更改这个文件,它是 Symfony 的一部分。虽然它可能有助于了解问题所在。