2015-12-10 148 views
0

我在Windows服务器上安装了Apache,PHP 5.6和MySQL 5.7。如何在Windows上安装PHP的PDO驱动程序?

在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 

(并重新启动Apache)的

但是当我尝试在我的PHP页面中使用PDO,但它仍然抛出的错误:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' 

我需要做些什么来安装PDO?

+0

_“尝试使用PDO”_如何? – AbraCadaver

+0

@AbraCadaver在一个php页面。我只是简单地调用'new PDO(...)' –

+0

某些扩展需要预先安装其他以前的扩展,并对PHP配置进行了一些更改,检查了PHP站点和MySQL的要求,配置,PDO扩展和MySQL扩展 – umlcat

回答

2

在我的阿帕奇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 

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

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 

而且在同一个文件夹,在php.ini文件我有以下的块被PDO相关,随着力的那些不与;

remmed出来;延长= 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(); ?> 

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

enter image description here

...

enter image description here

...

enter image description here

在上面从phpinfo()第一PHP的画面,它是在得到正确的路径中耗时最长的httpd.conf。这就是为什么我在这个答案中看到了错误的路径尝试。

因此,直到Loaded Configuration File出现体面,它有一个机会。

祝你好运。这并不好玩。一半的问题是有2或4个选项的原始下载执行。可悲的是,我想这花了我2到3个小时。但我没有你们其他人那么聪明。

+0

我有所有相同的设置(但不同的路径),它仍然给出错误 –

+0

以及我不在那里:P ...只有一些调试尝试,非常适合小评论框。 – Drew

+0

难道我在64位机器上使用32位Apache/PHP? –

0

问题是extension_dir指令没有作为相对路径工作。将问题从extension_dir="ext"更改为extension_dir="c:/phpinstall_path/ext"

+0

建议向人们展示让你回答的常见问题投票答复他们的答案。而不是做一个微不足道的而不承认它。投票加强了那些花费精力解决您的问题的人们的努力......希望继续为他人做这些事情。 – Drew

+0

@Drew我很乐意为您付出努力(这是很多,所以我做了),但您的回答并没有帮助我发现问题。正如我所提到的,您拥有与我完全相同的设置,它适用于您,但不适用于我的服务器。 –

+0

因为在看我的回答时,你了解了斜线应该走的方向?无论如何,我们都有PDO去做,祝你好运:P – Drew

相关问题