对冻结的 php 脚本进行故障排除

Posted

技术标签:

【中文标题】对冻结的 php 脚本进行故障排除【英文标题】:Troubleshooting frozen php scripts 【发布时间】:2013-08-19 10:48:42 【问题描述】:

我正在对多个 huge php 脚本进行故障排除。其中一个脚本通常会挂起很长时间。他们是我可以找出脚本挂起的行号的一种方式吗?

请注意,每个脚本都会同时执行多次,因此我有许多实例正在运行。

脚本非常大,而且这是随机发生的,所以在整个脚本中编写调试行非常累人。如果我这样做,日志会占用我的磁盘速度,所以请,我需要一个与日志记录无关的解决方案。

某种进程浏览器可以做到这一点吗?

【问题讨论】:

【参考方案1】:

您可以安装xdebug extension 并使用profiling。然后在WinCacheGrind (Windows) 或KCacheGrind (Linux) 中查看分析器输出文件

【讨论】:

@MuhammadGelbana 是的,它会的。您应该为生产禁用分析。 已经是生产服务器了。有没有办法在调试模式下运行脚本?我可以为特定脚本指定调试模式吗? 是的,您可以仅为某个脚本或某段代码启用分析。查看有关可用 php 函数的 xdebug 文档

以上是关于对冻结的 php 脚本进行故障排除的主要内容,如果未能解决你的问题,请参考以下文章

对 Cron 中的 PM2 重启进行故障排除

如何对 Snowpipe 自动摄取故障进行故障排除?

如何对苹果Mac屏幕自动降低亮度进行故障排除?

对远程 jquery 插件请求进行故障排除

如何在 Django 中进行故障排除?

对 signInManager.PasswordSignInAsync 进行故障排除 [重复]