如何通过清理xdebug日志解决因性能分析导致的磁盘空间不足问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计691个文字,预计阅读时间需要3分钟。
Xdebug日志(`xdebug.log`)默认是追加写入、永不轮转的纯文本文件。一旦开启高日志级别(如`xdebug.log_level=10`)并长时间运行,几小时就可能生成GB级的日志——尤其是并发请求多或启用了`xdebug.collect_params`时,每行日志可能包含大量变量快照。
立刻清空正在被PHP进程写的xdebug.log文件
别用rm删,否则PHP进程仍持有已删除文件的句柄,磁盘空间不会释放,新日志还会继续写进“看不见的文件”。正确做法是截断内容但保留文件本身:
-
sudo >/tmp/xdebug.log(最简,适用于大多数场景) -
sudo truncate -s 0 /tmp/xdebug.log(对超大文件更高效,推荐) -
sudo cat /dev/null > /tmp/xdebug.log(语义清晰,适合脚本)
确认路径是否正确:先查php -i | grep "xdebug.log",再检查PHP进程对该路径是否有写权限(ls -l /tmp/xdebug.log)。
防止下次再爆磁盘的硬性配置
仅靠手动清空治标不治本。
本文共计691个文字,预计阅读时间需要3分钟。
Xdebug日志(`xdebug.log`)默认是追加写入、永不轮转的纯文本文件。一旦开启高日志级别(如`xdebug.log_level=10`)并长时间运行,几小时就可能生成GB级的日志——尤其是并发请求多或启用了`xdebug.collect_params`时,每行日志可能包含大量变量快照。
立刻清空正在被PHP进程写的xdebug.log文件
别用rm删,否则PHP进程仍持有已删除文件的句柄,磁盘空间不会释放,新日志还会继续写进“看不见的文件”。正确做法是截断内容但保留文件本身:
-
sudo >/tmp/xdebug.log(最简,适用于大多数场景) -
sudo truncate -s 0 /tmp/xdebug.log(对超大文件更高效,推荐) -
sudo cat /dev/null > /tmp/xdebug.log(语义清晰,适合脚本)
确认路径是否正确:先查php -i | grep "xdebug.log",再检查PHP进程对该路径是否有写权限(ls -l /tmp/xdebug.log)。
防止下次再爆磁盘的硬性配置
仅靠手动清空治标不治本。

