我有一个应用程序,它使用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
感谢任何帮助。
答案 0 :(得分:0)
当我弄清楚如何在我的托管中访问服务器日志时,我发现了以下错误:
您的数据无法编码,因为它包含无效的UTF8字符。“在app / endor / jms / serializer / src / JMS / Serializer / JsonSerializationVisitor.php第36行
解决方案就在这里(“SET NAMES UTF8”诀窍):