原文地址:http://drupal.org/requirements/pdo What is PDO?
PDO is an acronym for PHP Data Objects. PDO is a lean, consistent way to access databases. This means developers can write portable code much easier. PDO is not an abstraction layer like PearDB. PDO is a more like a data access layer which uses a unified API (Application Programming Interface).
How to enable PDO
To enable PDO, configure --enable-pdo and --with-pdo-sqlite --with-pdo-mysql or whatever database needs supporting by PDO (see the PHP manual for more information).
Windows users
- For Apache, you will need to make sure php_pdo.dll and php_pdo_mysql.dll exist in the php/ext directory, un-comment or add the appropriate lines in php.ini, and restart the web server.
- For IIS, PDO DLLs are not enabled by default. The preferred method for enabling them is to go to the Control Panel | Add/Remove Programs, highlight your PHP installation and click "Change" (Change/Remove - XP). Specify "FastCGI", then modify the installed extensions to include these two, then restart your server.
Macintosh users
Method 1
OS X 10.5: Detailed, step-by-step instructions are available here:
- Getting PHP + GD + pdo_mysql working on OSX 10.5 (aka recompiling everything)
- Getting PHP + GD + PostgreSQL working on OSX 10.5 (aka recompiling everything)
OS X 10.6: OS 10.6 comes with the PDO extension enabled by default. (For instructions on configuring your development environment, see: Drupal 6 on OS X 10.6
Method 2
MAMP comes pre-configured with the PDO extension. For more information, see: HowTo: Create a local environment using MAMP.
Linux users
PDO is enabled by default as of php 5.1.0 on most linux systems. There is documentation to enable PDO for a mysql specific-driver.
Ubuntu
As with most Linux systems, PDO support is present in PHP5 in all recent Ubuntu distributions, and certainly in PHP 5.2 which is required for Drupal 7. If you find that PDO support is not enabled, install the following packages and restart the server.
sudo apt-get install php5-common php5-mysqlsudo /etc/init.d/apache2 reload
Before restarting the server, make sure that extension=pdo.so
and are being loaded, either in the php.ini file or in their own .ini files inside /etc/php5/conf.d.
Centos
If you find that PDO support is not enabled, do the following through SSH
yum update php-mysql
If bash tells you that pdo-mysql is not installed, then
yum install php-mysql
then restart your httpd/apache. When you try run the drupal installation script, you should be able to setup your MySQL database
Through WHM
- Go to Software > Easy Apache > Exhaustive Options List
- Select PDO and PDO MYSQL
- Save
Troubleshooting
Do not use the PECL PDO installer. The project is horribly outdated and abandoned. (See http://pecl.php.net/package/PDO.) Cases have been reported where PECL PDO support seems enabled but it doesn't work correctly. One symptom was the inability to install Drupal 7.
If you have already installed PECL PDO, you will need to remove it and then reinstall the version from PHP core, or ask your hosting provider to do so.
On Debian and Ubuntu, the required commands are:
sudo pecl uninstall pdo_mysqlsudo pecl uninstall pdosudo apt-get install --reinstall php5-common php5-mysqlsudo /etc/init.d/apache2 reload
extension=pdo_mysql.so