FOS Rest - проблема производственной среды

0

У меня есть приложение, которое использует SF2, FOS-RestBundle, MySQL, AngularJS. Symfony используется только для предоставления API REST для моего внешнего приложения, написанного в Angular. Все работает отлично, когда включен режим отладки, и мои URL-адреса API похожи на:

" HOST/app_dev.php/api/users"

Но когда я переключаюсь на производственную среду и меняю свои URL-адреса на:

" HOST/api/users"

Я получаю такую ошибку:

{"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. Он даже не туда ездит.

Снимок экрана с ошибками и заголовками

Цените любую помощь.

  • 1
    Можете ли вы получить журналы сервера (вероятно, Apache), чтобы увидеть фактическую ошибку, а не только ошибку 500?
Теги:
rest
fosrestbundle

1 ответ

0

Когда я выяснил, как добраться до журналов сервера на моем хостинге, я обнаружил следующую ошибку:

Ваши данные не могут быть закодированы, потому что они содержат недопустимые символы UTF8. "В app/endor/jms/serializer/src/JMS/Serializer/JsonSerializationVisitor.php строка 36

И решение здесь ("SET NAMES UTF8" сделал трюк):

Ошибка JMSSerializer и UTF-8 (Symfony2.4)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню