2016-01-03 106 views
0

我有一個應用程序,它使用SF2,FOS-RestBundle,MySQL,AngularJS。 Symfony僅用於爲我在Angular中編寫的前端應用程序提供REST API。當我已經啓用調試模式一切都很正常,我的API網址 像:FOS其餘 - 生產環境問題

HOST /app_dev.php/api/users」

但是當我切換到生產環境,改變我的URL :

HOST/API /用戶」

我不斷收到這樣的錯誤:

{"error":{"code":500,"message":"Internal Server Error"}}

這是我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

你能得到服務器日誌(可能是Apache),所以你看到的實際錯誤,而不僅僅是500錯誤? –

回答

0

當我想通了如何去在我的主機服務器日誌我發現以下錯誤:

Your data could not be encoded because it contains invalid UTF8 characters." at app/endor/jms/serializer/src/JMS/Serializer/JsonSerializationVisitor.php line 36

和解決方案是在這裏(「SET NAMES UTF8」的伎倆):

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