Google App Eng(flex)上的Symfony 4-500错误

时间:2018-10-15 14:27:28

标签: php symfony google-app-engine

在Google App Eng(flex)上运行的Symfony 4应用。

我已部署该应用程序,但出现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 :(得分:0)

根据您刚刚提供的新编辑信息,看来您遇到的问题更多是在使用的Symfony版本上而不是GAE上。

Symfony 4.1已弃用捆绑符号。这意味着不再建议使用捆绑软件来组织业务逻辑。您可以在Symfony官方网页here上看到一些示例。

您的错误消息告诉您使用以下内容:

\“ fos_user.security.controller :: loginAction \

对于路径中的文件:

C:\ dev \ projects \ jw-app \ vendor \ symfony \ framework-bundle \ Routing \ DelegatingLoader.php:98)  在第98行

Symfony 4.1似乎也有以下引用问题。您可以在FriendsOfSymfony Github页面上查看其相似问题的详细信息并查看建议的修复程序。

此外,我想提到的是,由于您使用的是GAE:Flex,因此您可以在以下位置查看项目的构建历史记录和错误日志:

Google Cloud BuildGoogle Cloud Console>打开菜单>工具> Cloud Build)

这将为您提供您要在GAE上部署的构建的必要信息。