Why isn't a PDO driver detected on the install page?
The error could be thrown for three different reasons.

Some of the Drupal core files in the includes/database directory are missing
There isn't any extension implementing the necessary PDO drivers
The extension implementing the necessary PDO driver isn't enabled in the php.ini file or other .ini files used from PHP

To check which database driver is available, Drupal first looks for its own files in the includes/database directory, initializes an instance of a class that extends DatabaseTasks (for example DatabaseTasks_mysql for MySQL) and calls its installable() method.
public function installable() {
  return $this-&gt;hasPdoDriver() &amp;&amp; empty($this-&gt;error);
}

protected function hasPdoDriver() {
  return in_array($this-&gt;pdoDriver, PDO::getAvailableDrivers());
}

If the method returns FALSE, the PDO driver is considered not available. (See drupal_get_database_types() for details.)
Notice that, if the PDO extension (not a PDO driver) isn't available, the error shown from Drupal is the following one.

'Your web server does not appear to support PDO (PHP Data Objects). Ask your hosting provider if they support the native PDO extension.

In that case, Drupal would also show the following message, followed by a list of one or more missing PHP extensions.

Drupal requires you to enable the PHP extensions in the following list (see the system requirements page for more information)