WordPress wp-admin/install.php gives blank page

The installation of the WordPress content management system is straightforward with very clear installation instructions. The basic steps consist of 1) downloading the WordPress package, 2) creating a MySQL database and establishing a MySQL user with all privileges for accessing and modifying the database, 3) setting up a configuration file wp-config.php that identifies the database, user, and password, and 4) running the installation script by accessing wp-admin/install.php.

I wanted to install a local copy of WordPress on my Windows Vista computer to develop a WordPress theme.  My computer had the required Apache web server, PHP, and MySQL database programs.  Using phpMyAdmin, I set up the database and the user ID for the blog without problems.  However, when I ran the WordPress installation script, I got a blank page.

To get some diagnostic messages, I changed the WP_DEBUG variable from “false” to “true” in the wp-config.php file.

define('WP_DEBUG', true);

This produced the following messages:

Warning: mysql_connect() [function.mysql-connect]: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\www\wordpress\wp-includes\wp-db.php on line 1037

Fatal error: Maximum execution time of 60 seconds exceeded in C:\www\wordpress\wp-includes\wp-db.php on line 1037

About one year earlier, I had a problem establishing a connection with a MySQL database from a Perl program.  The problem was finally resolved when I used the numeric IP address of the localhost instead of just “localhost”.  This same solution worked for WordPress by specifying for my localhost in the wp-config.php file.

/** MySQL hostname */
define('DB_HOST', '');  /* localhost */

My Perl programs accessing local MySQL databases look like this:

# Access MySQL database "names"
use DBI;
$database = 'names';
$hostname = '';  # localhost
$port = '3306';
$dsn = "DBI:mysql:database=$database;host=$hostname;port=$port";
$user = 'user1';
$password = 'xxxxx';

$dbh = DBI->connect( $dsn, $user, $password )
|| die "Cannot connect to $database: $DBI::errstr";

$query = 'show tables;';
$sth = $dbh->prepare($query);
my $numRows = $sth->rows;  # number of rows
print "Number of Tables=$numRows\n";
while (my $row = $sth->fetchrow_arrayref) {
print join("\t", @$row), "\n";
print ' * * * *',"\n\n";