97超碰在线公开|在线欧美亚洲综合|在线免费一区二区|久久精品麻豆婷婷|亚洲AV性爱在线|欧美在线综合久在线|国产香线蕉手机视频自拍亚洲|成人嫩草视频HD|色香蕉五月社区|亚洲欧美第一视频

284292114@qq.com 中國站
行業(yè)新聞 網(wǎng)站建設 網(wǎng)絡推廣 首頁>新聞中心>網(wǎng)站建設

pbootcms占用資源讓服務器卡頓的問題之一。

時間:2025-06-24   訪問量:0

PBOOTCMS在運行時間久了之后,有可能會造成服務器卡頓。

通過慢日志發(fā)現(xiàn),是file.php中的path_delete() 函數(shù)會導致的。

可以使用以下改進過的代碼,使用中。

/**
 * 刪除目錄及目錄下所有文件或刪除指定文件
 *
 * @param string $path 待刪除目錄路徑
 * @param bool $delDir 是否刪除目錄,true 刪除目錄,false 僅清空目錄
 * @param array $exFile 排除的文件/目錄名
 * @return bool 是否成功
 */
function path_delete($path, $delDir = false, $exFile = array())
{
    $result = true;

    if (!file_exists($path)) {
        return true; // 不存在直接返回成功
    }

    if (is_dir($path)) {
        $dirs = scandir($path);
        if ($dirs !== false) {
            foreach ($dirs as $value) {
                if ($value === '.' || $value === '..' || in_array($value, $exFile)) {
                    continue;
                }

                $dir = $path . '/' . $value;

                // 遞歸刪除子目錄或文件
                $subResult = is_dir($dir) ? path_delete($dir, $delDir, $exFile) : unlink($dir);

                if (!$subResult) {
                    $result = false;
                    error_log("Failed to delete: $dir");
                }
            }

            // 刪除自身目錄
            if ($delDir && !rmdir($path)) {
                $result = false;
                error_log("Failed to remove directory: $path");
            }
        } else {
            $result = false;
            error_log("Failed to scan directory: $path");
        }
    } else {
        if (!unlink($path)) {
            $result = false;
            error_log("Failed to delete file: $path");
        }
    }

    return $result;
}


服務咨詢
1對1咨詢,專業(yè)客服為您解疑答惑
聯(lián)系銷售
15899750475
在線咨詢
聯(lián)系在線客服,為您解答所有的疑問