如何在Windows上为PHP安装PDO驱动程序?

Don*_*mmy 2 php mysql windows pdo wamp

我在Windows服务器上安装了Apache,PHP 5.6和MySQL 5.7。

在php.ini中,我启用了以下功能:

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8_12c.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
Run Code Online (Sandbox Code Playgroud)

(并重新启动Apache)

但是,当我尝试在我的php页面中使用PDO时,仍然会引发错误:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver'
Run Code Online (Sandbox Code Playgroud)

要安装PDO,我该怎么做?

Dre*_*rew 5

在我的 apache 中,httpd.conf我有(请注意,我已经重新删除了 # 因为它至少花了我 1 小时)。所以我留下它来告诉我如何这样做。

#PHPIniDir 'c:\apps\php\'
#PHPIniDir "C:\Apache24\~PHP_download\php-5.6.11-Win32-VC11-x64\"
PHPIniDir "C:/Apache24/~PHP_download/php-5.6.11-Win32-VC11-x64"

#LoadModule php5_module "c:/apps/php/php5apache2_2.dll"
LoadModule php5_module "C:/Apache24/~PHP_download/php-5.6.11-Win32-VC11-x64/php5apache2_4.dll"

AddHandler application/x-httpd-php .php
Run Code Online (Sandbox Code Playgroud)

在上面的文件夹(如下所示)中,我有这些文件:

 Directory of C:\Apache24\~PHP_download\php-5.6.11-Win32-VC11-x64

07/24/2015  12:33 PM    <DIR>          .
07/24/2015  12:33 PM    <DIR>          ..
07/24/2015  12:32 PM            69,632 deplister.exe
07/24/2015  12:32 PM    <DIR>          dev
07/24/2015  12:32 PM    <DIR>          ext
07/24/2015  12:32 PM    <DIR>          extras
07/24/2015  12:32 PM         1,290,752 glib-2.dll
07/24/2015  12:32 PM            16,384 gmodule-2.dll
07/24/2015  12:32 PM        25,337,856 icudt54.dll
07/24/2015  12:32 PM         1,907,712 icuin54.dll
07/24/2015  12:32 PM            51,200 icuio54.dll
07/24/2015  12:32 PM           256,000 icule54.dll
07/24/2015  12:32 PM            50,176 iculx54.dll
07/24/2015  12:32 PM            63,488 icutest54.dll
07/24/2015  12:32 PM           195,072 icutu54.dll
07/24/2015  12:32 PM         1,369,088 icuuc54.dll
07/24/2015  12:32 PM            79,826 install.txt
07/24/2015  12:32 PM    <DIR>          lib
07/24/2015  12:32 PM         1,823,232 libeay32.dll
07/24/2015  12:32 PM            46,592 libenchant.dll
07/24/2015  12:32 PM           160,256 libpq.dll
07/24/2015  12:32 PM           237,056 libsasl.dll
07/24/2015  12:32 PM           201,728 libssh2.dll
07/24/2015  12:32 PM             3,286 license.txt
07/24/2015  12:32 PM           518,643 news.txt
07/24/2015  12:32 PM                43 phar.phar.bat
07/24/2015  12:32 PM            53,242 pharcommand.phar
07/24/2015  12:32 PM            58,368 php-cgi.exe
07/24/2015  12:32 PM            30,720 php-win.exe
07/24/2015  12:32 PM            77,824 php.exe
07/24/2015  12:32 PM             2,523 php.gif
08/29/2015  02:28 PM            74,572 php.ini
07/24/2015  12:32 PM            74,334 php.ini-development
07/24/2015  12:32 PM            74,365 php.ini-production
07/24/2015  12:32 PM            31,744 php5apache2_4.dll
07/24/2015  12:32 PM           845,830 php5embed.lib
07/24/2015  12:32 PM           167,936 php5phpdbg.dll
07/24/2015  12:32 PM         8,269,312 php5ts.dll
07/24/2015  12:32 PM           180,224 phpdbg.exe
07/24/2015  12:32 PM            21,360 readme-redist-bins.txt
07/24/2015  12:32 PM             3,634 snapshot.txt
07/24/2015  12:32 PM           353,280 ssleay32.dll
Run Code Online (Sandbox Code Playgroud)

在同一个文件夹中,在 php.ini 文件中,我有以下与 pdo 相关的块,其中有效的块未用;

;扩展名=php_pdo_firebird.dll 扩展名=php_pdo_mysql.dll ;扩展名=php_pdo_oci.dll 扩展名=php_pdo_odbc.dll ;扩展名=php_pdo_pgsql.dll ;扩展名=php_pdo_sqlite.dll

然后我有一个仅用于测试目的的phpinfo_xyz.php 文件(阅读:完成后删除它),其中包含

<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)

重新启动 apache,从浏览器指向该文件,并注意以下与以下三个类似的块。

在此输入图像描述

...

在此输入图像描述

...

在此输入图像描述

在上面来自 的第一张 PHP 图片中phpinfo(),在 httpd.conf 中获取正确的路径花费了最长的时间。这就是为什么我在这个答案中看到了错误的尝试。

所以直到Loaded Configuration File表现得体时它才有机会。

祝你好运。这并不有趣。一半的问题是有大约 2 或 4 个选项来执行原始下载。可悲的是,我想我一共花了两三个小时。但我不像你们其他人那么聪明。


Don*_*mmy 5

问题在于该extension_dir指令不能作为相对路径使用。从更改extension_dir="ext"extension_dir="c:/phpinstall_path/ext"已解决问题。