E_PARSE错误仅显示在Laravel 5.0中的New Relic中

时间:2015-07-16 16:24:04

标签: php laravel-5 composer-php newrelic

我在New Relic中有一个奇怪的不太有用的错误。这些错误未在Laravel日志或原始php日志中显示。例如:

Error message
E_PARSE: syntax error, unexpected '\Foundatio', expecting \\ (T_NS_SEPARATOR) or ';' or '{'

Sample stack trace
in require called at /home/xxx/public_html/bootstrap/autoload.php (32)
in require called at /home/xxx/public_html/public/index.php (36)

Error message
E_PARSE: syntax error, unexpected '\Support {', expecting \\ (T_NS_SEPARATOR) or ';' or '{'

Sample stack trace
in require called at /home/xxx/public_html/bootstrap/autoload.php (32)
in require called at /home/xxx/public_html/public/index.php (36)

Error message
E_PARSE: syntax error, unexpected '\Compon', expecting \\ (T_NS_SEPARATOR) or ';' or '{'

Stack trace
in require called at /home/xxx/public_html/bootstrap/autoload.php (32)
in require called at /home/xxx/public_html/public/index.php (36)

每次在服务器上运行composer install时,似乎都会发生这些错误。我的提交/部署时间似乎与New Relic中的错误时间相匹配。

知道这可能是什么,为什么我不能在日志中获取它们但是它们出现在New Relic中?

非常感谢你的帮助

2 个答案:

答案 0 :(得分:1)

Laravel日志中没有显示错误,因为Laravel甚至没有运行。加载文件并且文件未执行时,会检测到分析错误。

答案 1 :(得分:0)

感谢@jerdrzej,我意识到我有点鲁莽。

如果有人遇到此问题,解决方案是使用正确的方式来部署代码(如果部署顺利进行,用户只能查看新代码 - 无需停机)。

我使用dploy.io并使用上次更新(他们将名称更改为DeployBot),他们可以这样做:

http://deploybot.com/

或者是Laravel团队的Envoyer:

https://envoyer.io/

可能有其他方法可以避免停机,但这对我有用。