0%

记录一次代码BUG导致误删服务器

简单的几行代码,差点导致整个服务器被删掉…

先上代码:
BUG代码

简单解释一下,代码的作用是生成静态代码。所以每次开始编译前先删除输出目录,再重新创建。
realpath()用于将相对路径转换成绝对路径,返回类似“/www/html/dist”的路径。
deleteDir()函数是一个递归删除文件和文件夹的函数。

问题在于,当dist目录不存在的时候,realpath()函数会返回false,导致$output_dir的值为/,后面deleteDir()函数将执行删除根目录。

这段代码运行的时候,输出大量的无权限报错信息,所幸及时按下Ctrl-C结束了程序。