@macmanx
I am also from Softaculous team. I will try to provide some more details.
The issue is in the function is_blog_installed in wp-includes/functions.php in a loop for $wpdb->tables() it checks if the table already exists using the DESCRIBE query :
$wpdb->get_results( “DESCRIBE $table;” );
Previously it used to just check if the function returned false it would assume table is not present.
if ( ! $wpdb->get_results( “DESCRIBE $table;” ) ) {
continue;
}
With the change in WordPress 5.5.2 it checks if the returned value is an array and that the returned array has the count 0 :
$described_table = $wpdb->get_results( “DESCRIBE $table;” );
if ( is_array( $described_table ) && count( $described_table ) === 0 ) {
continue;
}
The function get_results returns NULL when the database does not exist which is the case when we perform a fresh installation (via WEB) since the function checks if it is an array and the output is NULL this function assumes all tables are present hence triggerring the error that the tables already exist try to Repair and does not allow to install WordPress.
Maybe you are not able to replicate the error because either the wp-config.php is there and the database also exists but the tables are not present in which case you will receive the response from get_results() as array with 0 keys. Try deleting the wp-config.php file and check if you are able to replicate the issue.
Looking forward to the fix.