FOS Rest - 生产环境问题

时间:2016-01-03 14:06:16

标签: php angularjs rest symfony fosrestbundle

我有一个应用程序,它使用SF2,FOS-RestBundle,MySQL,AngularJS。 Symfony仅用于为我用Angular编写的前端应用程序提供REST API。当我启用调试模式和我的API网址时,一切都很好 就像:

“的 HOST /app_dev.php/api/users”

但是当我切换到生产环境并将我的网址更改为:

“的 HOST / API /用户”

我一直收到这样的错误:

  

{“error”:{“code”:500,“message”:“内部服务器错误”}}

这是我的FOSRest配置(和sensio框架):

sensio_framework_extra:
view: { annotations: false }
router: { annotations: true }
request: { converters: true }

fos_rest:
routing_loader:
    default_format: json
    include_format: true
param_fetcher_listener: force
body_listener: true
allowed_methods_listener: true
view:
    view_response_listener: 'force'
    formats:
        json: true
format_listener:
    rules:
        - { path: '^/api', priorities: ['json', 'xml'], fallback_format: null, prefer_extension: true }
        - { path: '^/', priorities: [ 'text/html', '*/*'], fallback_format: null, prefer_extension: true }
access_denied_listener:
    json: true

我知道,该错误是在FOSRestBundle中的某处触发的,但我在ExceptionController中有一个'断点'。它甚至没有去那里。

Screenshot of error and headers

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当我弄清楚如何在我的托管中访问服务器日志时,我发现了以下错误:

  

您的数据无法编码,因为它包含无效的UTF8字符。“在app / endor / jms / serializer / src / JMS / Serializer / JsonSerializationVisitor.php第36行

解决方案就在这里(“SET NAMES UTF8”诀窍):

JMSSerializer and UTF-8 encoding error ( Symfony2.4 )

相关问题