I have been following the instructions for installing to Multisite here:
https://docs.civicrm.org/installation/en/latest/multisite/wordpress/
I created a separate civicrm database.
I set the CiviCRM installation (5.68.0) running. It did stuff for a minute or two, then came back with a fatal error.
The PHP log has an error starting with this:
Uncaught TypeError: method_exists(): Argument #1 ($object_or_class) must be of type object|string, int given in /home/<userDIR>/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php:2807
When I go to look at that line in the file, it has this:
if (method_exists($result, 'numRows')) {
if ($_DB_driver == 'DB') {
$DB->expectError(DB_ERROR_UNSUPPORTED);
} else {
$DB->expectError(MDB2_ERROR_UNSUPPORTED);
}
In my searching on the web, I saw some comments that PHP 8 had made it a fatal error if the first parameter to method_exists() was not a string or an object.
In the stack trace, the first line is:
Stack trace:
#0 /home/<userDIR>/public_html/wp-content/plugins/civicrm/civicrm/packages/DB/DataObject.php(2807): method_exists(1, 'numRows')
Hence it does seem that $result is passing an integer, not a string or object.
This seems like a check has to be made in the code, but it hasn't been.