我在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中?
非常感谢你的帮助
答案 0 :(得分:1)
Laravel日志中没有显示错误,因为Laravel甚至没有运行。加载文件并且文件未执行时,会检测到分析错误。
答案 1 :(得分:0)
感谢@jerdrzej,我意识到我有点鲁莽。
如果有人遇到此问题,解决方案是使用正确的方式来部署代码(如果部署顺利进行,用户只能查看新代码 - 无需停机)。
我使用dploy.io并使用上次更新(他们将名称更改为DeployBot),他们可以这样做:
或者是Laravel团队的Envoyer:
可能有其他方法可以避免停机,但这对我有用。