情况概述
- 之前用slim框架部署了一个php小项目,跑了一天大概有3w浏览量,结果上服务器一看磁盘空间被全部占满了。
- 查了一下网上的资料,多数是说因为在项目运行过程中,日志文件不断累积造成的磁盘空间被占满。
- 检查了IIS的日志文件,大小正常。在磁盘里检查了一下文件夹,发现有一个名为xdebug的文件夹吃了30多G。这才知道是php的
xdebug
拓展记录文件,在访问的情况下把空间占满了。 - 另外上线前忘记把slim框架的debug关闭也可能是原因之一
$config = [
'settings' => [
//上线前此处应该调成false,不显示报错信息
'displayErrorDetails' => false
],
];
$app = new \Slim\App($config);
解决办法
1、找到安装php的文件夹目录,在里面打开php.ini
配置文件。
2、在文件里搜索 xdebug
找到如下的php拓展模块代码。
[Xdebug]
;指定Xdebug扩展文件的绝对路径
zend_extension="C:\Dev\PHP\ext\php_xdebug-2.5.4-5.6-vc11.dll"
;启用性能检测分析
xdebug.profiler_enable=on
;启用代码自动跟踪
xdebug.auto_trace=on
;允许收集传递给函数的参数变量
xdebug.collect_params=on
;允许收集函数调用的返回值
xdebug.collect_return=on
;指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir="C:\Dev\xdebug"
;指定性能分析文件的存放目录
xdebug.profiler_output_dir="C:\Dev\xdebug"
xdebug.profiler_output_name = cachegrind.out.%t.%p
3、如果想直接关闭xdebug
,直接注释掉第一行,在首句添加一个;
即可。如果想要修改其他参数的,on
改成off
即可。
;指定Xdebug扩展文件的绝对路径
;zend_extension="C:\Dev\PHP\ext\php_xdebug-2.5.4-5.6-vc11.dll"
其他工具
Everything,可以按修改日期排序看看新增文件是什么,在磁盘很多文件的情况下,手动找哪个文件夹变大了是一个蛮蠢的行为。
SpaceSniffer,win系统下可以通过可视化手段来查看硬盘中文件和文件夹的分布情况的应用程序,能更直观看到你的到底是什么塞满了自己的磁盘。