Heroku上的Symfony产生500内部服务器错误,但没有消息

时间:2015-11-30 16:35:31

标签: symfony heroku internal-server-error

正如我在标题中所说,该应用程序产生500内部服务器错误,但在日志中没有错误,所以我不知道如何理解发生了什么。

这是日志:

2015-11-30T16:31:50.881209+00:00 heroku[router]: at=info method=GET path="/" host=myapp.herokuapp.com request_id=52d75ec4-3345-4d3c-88e6-a5f08c366dc2 fwd="151.77.121.140" dyno=web.1 connect=0ms service=10ms status=500 bytes=765
2015-11-30T16:31:50.882326+00:00 app[web.1]: 10.76.13.112 - - [30/Nov/2015:16:31:50 +0000] "GET / HTTP/1.1" 500 495 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
2015-11-30T16:31:51.618891+00:00 app[web.1]: 10.76.13.112 - - [30/Nov/2015:16:31:51 +0000] "GET /favicon.ico HTTP/1.1" 200 5430 "https://myapp.herokuapp.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
2015-11-30T16:31:51.617820+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=myapp.herokuapp.com request_id=cf2ecf03-65ee-4213-8d52-a7eaaa24ac76 fwd="151.77.121.140" dyno=web.1 connect=0ms service=1ms status=200 bytes=5696

我怎么知道产生应用程序的错误是哪种错误?

1 个答案:

答案 0 :(得分:1)

解决。要查看应用程序产生的错误,必须将Symfony配置为与Heroku使用的短暂系统兼容。

所以在config_prod.yml设置monolog写入php://stderr

monolog:
    handlers:
        main:
            type:         fingers_crossed
            action_level: error
            handler:      nested
        nested:
            type:  stream
            # Required by Heroku ephemeral filesystem
            path:  "php://stderr"
            level: debug
        console:
            type:  console

有关如何在Heroku上配置Symfony应用程序日志记录的详细信息,请访问help pages

PS

错误是一个简单的错误拼写:写了default/index.html.twig而不是Default/index.html.twig。是大写字母和git提交的问题。很简单,但很乏味,很难找到!