From ac5fdb4660caa95d78867c6615de8e329e0e18f1 Mon Sep 17 00:00:00 2001 From: Peter Wilson Date: Mon, 12 Aug 2024 04:52:55 +0000 Subject: [PATCH] Site Health: Check if directories exist before checking size. Prevents the Site Health Debug tab from stalling when reporting directory sizes if the directory does not exist. Props clorith, aristath, narenin, kowsar89, hellofromTonya, ironprogrammer, shailu25. Fixes #61638. git-svn-id: https://develop.svn.wordpress.org/trunk@58884 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/class-wp-debug-data.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/wp-admin/includes/class-wp-debug-data.php b/src/wp-admin/includes/class-wp-debug-data.php index 1d4ab39aa8..f626dc4c4a 100644 --- a/src/wp-admin/includes/class-wp-debug-data.php +++ b/src/wp-admin/includes/class-wp-debug-data.php @@ -1695,6 +1695,18 @@ class WP_Debug_Data { 'raw' => 0, ); + // If the directory does not exist, skip checking it, as it will skew the other results. + if ( ! is_dir( $path ) ) { + $all_sizes[ $name ] = array( + 'path' => $path, + 'raw' => 0, + 'size' => __( 'The directory does not exist.' ), + 'debug' => 'directory not found', + ); + + continue; + } + if ( microtime( true ) - WP_START_TIMESTAMP < $max_execution_time ) { if ( 'wordpress_size' === $name ) { $dir_size = recurse_dirsize( $path, $exclude, $max_execution_time );