Symfony 4 в Google App Eng (flex) - ошибка 500 - PullRequest
0 голосов
/ 15 октября 2018

Приложение Symfony 4, работающее в Google App Eng (flex).

Я развернул приложение, но получаю сообщение об ошибке 500, и механизм приложения не предоставляет никаких дополнительных сведений.

Процесс развертывания, который я сделал, был следующим:

(следующий документ https://cloud.google.com/community/tutorials/run-symfony-on-appengine-flexible)

Включите файл app.yaml следующим образом:

runtime: php
env: flex

runtime_config:
document_root: public
front_controller_file: index.php

env_variables:
APP_ENV: "prod"

manual_scaling:
instances: 1

resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10

Обновление строки композитора:

"post-install-cmd": [
    "chmod -R ug+w $APP_DIR/var"
],

Очистка кеша и прогрев кеша для производства:

php bin/console cache:clear --env=prod --no-debug

php bin/console cache:warmup --env=prod --no-debug

Даже если я еще не сделалчасть установки доктрины, я должен иметь возможность перейти на xxxx.appspot.com и получить домашнюю страницу. Вместо этого я получаю ...

xxxx.appspot.com в настоящее время не может обработать этот запрос. HTTPОШИБКА 500

Это озадачивает, потому что приложение работало совершенно локально перед нагревом кеша.

Правильно ли я внедряю или что-то забываю? (Я не могу получить подробности об ошибке из App Engine).

Редактировать

Я проверил локальную папку var / log и нашел dev.log и prod.deprecations.log.В последнем у меня эта ошибка много раз ...

[2018-10-15 11:28:59] php.INFO: User Deprecated: Referencing controllers with a single colon is deprecated since Symfony 4.1, use "fos_user.security.controller::loginAction" instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Referencing controllers with a single colon is deprecated since Symfony 4.1, use \"fos_user.security.controller::loginAction\" instead. at C:\\dev\\projects\\jw-app\\vendor\\symfony\\framework-bundle\\Routing\\DelegatingLoader.php:98)"}

1 Ответ

0 голосов
/ 16 октября 2018

На основании только что предоставленной вами новой информации о редактировании кажется, что проблема, с которой вы сталкиваетесь, больше связана с используемой версией Symfony, чем с GAE.

Symfony 4.1 устарела для обозначения комплекта.Это означает, что больше не рекомендуется организовывать свою бизнес-логику с использованием пакетов.Вы можете увидеть некоторые примеры этого на официальной веб-странице Symfony здесь .

Ваше сообщение об ошибке говорит вам использовать следующее:

\ "fos_user.security.controller:: loginAction \

Для файла по пути:

C: \ dev \ projects \ jw-app \ vendor \ symfony \ framework-bundle \ Routing \ DelegatingLoader.php: 98) на line 98

Кажется, что у некоторых людей есть следующие проблемы со ссылками на Symfony 4.1. Вы можете просмотреть подробности их похожих проблем и просмотреть рекомендуемые исправления на FriendsOfSymfony Github page.

Также я хотел бы отметить, что, поскольку вы используете GAE: Flex, вы можете просматривать историю сборок и журналы ошибок для вашего проекта по следующему адресу:

Google Cloud Build ( Google Cloud Console > Откройте меню> Инструменты> Cloud Build)

Это предоставит вам необходимую информацию о сборке, которую вы пытаетесь развернуть в GAE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...