在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)"}
答案 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 Build(Google Cloud Console>打开菜单>工具> Cloud Build)
这将为您提供您要在GAE上部署的构建的必要信息。