php - PDOException 找不到驱动程序 [重复]

Posted

技术标签:

【中文标题】php - PDOException 找不到驱动程序 [重复]【英文标题】:php - PDOException could not find driver [duplicate] 【发布时间】:2018-05-01 05:16:04 【问题描述】:

使用

连接到 mysql 数据库时出现 PDOException 找不到驱动程序
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);

在 Windows 10 上的 localhost 上。我还尝试将 localhost 替换为 127.0.0.1。

phpinfo():

C:\php\php.ini:

extension_dir = "C:/php/ext"
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_exif.dll
extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8_12c.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll

C:\Apache24\conf\httpd.conf:

LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/php"

php -m

[PHP Modules]
bcmath
calendar
Core
ctype
date
dom
ereg
filter
ftp
hash
iconv
json
libxml
mcrypt
mhash
mysql
mysqli
mysqlnd
odbc
pcre
PDO
pdo_mysql
Phar
Reflection
session
SimpleXML
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

C:\php\ext 内容:

25.10.2017  15:23            79 872 php_bz2.dll
25.10.2017  15:23            87 040 php_com_dotnet.dll
25.10.2017  15:23           478 208 php_curl.dll
25.10.2017  15:23            23 040 php_enchant.dll
25.10.2017  15:23            56 320 php_exif.dll
25.10.2017  15:23         2 874 880 php_fileinfo.dll
25.10.2017  15:23         1 504 768 php_gd2.dll
25.10.2017  15:23            48 128 php_gettext.dll
25.10.2017  15:23           359 936 php_gmp.dll
25.10.2017  15:23           911 360 php_imap.dll
25.10.2017  15:23            80 896 php_interbase.dll
25.10.2017  15:23           326 656 php_intl.dll
25.10.2017  15:23           218 624 php_ldap.dll
25.10.2017  15:23         1 413 632 php_mbstring.dll
25.10.2017  15:23            45 056 php_mysql.dll
25.10.2017  15:23           113 664 php_mysqli.dll
25.10.2017  15:23           147 456 php_oci8_12c.dll
25.10.2017  15:23           158 208 php_opcache.dll
25.10.2017  15:23           105 472 php_openssl.dll
25.10.2017  15:23            24 576 php_pdo_firebird.dll
25.10.2017  15:23            28 672 php_pdo_mysql.dll
25.10.2017  15:23            28 672 php_pdo_oci.dll
25.10.2017  15:23            24 576 php_pdo_odbc.dll
25.10.2017  15:23            39 936 php_pdo_pgsql.dll
25.10.2017  15:23           603 648 php_pdo_sqlite.dll
25.10.2017  15:23           117 760 php_pgsql.dll
25.10.2017  15:23            14 336 php_shmop.dll
25.10.2017  15:23           406 528 php_snmp.dll
25.10.2017  15:23           285 184 php_soap.dll
25.10.2017  15:23            68 608 php_sockets.dll
25.10.2017  15:23           761 856 php_sqlite3.dll
25.10.2017  15:23            38 912 php_sybase_ct.dll
25.10.2017  15:23           284 160 php_tidy.dll
25.10.2017  15:23            63 488 php_xmlrpc.dll
25.10.2017  15:23           285 696 php_xsl.dll

系统路径:

C:\php
C:\php\ext
C:\Apache24
C:\Apache24/bin

我需要更多驱动程序吗?还是有其他问题?

如果您需要更多信息,我会提供。

感谢您的任何建议

【问题讨论】:

【参考方案1】:

;extension=php_pdo.dll 之前删除;。并且还来自其他 pdo 扩展之前。如果你想使用这些。然后重启服务器。

; 实际上是在ini 文件中插入一行。因此,您必须取消注释这些行才能使用它们。

编辑:您可以使用XamppWampEasyPHP 或其他东西,而不是经历所有这些麻烦。

【讨论】:

我取消注释 extension=php_pdo.dl 并且它仍然是一样的,即使我取消注释每个扩展。 是的,我确实在 C:\Apache24\bin 中使用 httpd -k stop 和 httpd -k start 重新启动 PDO 驱动 mysql、odbc、pgsql、sqlite 您是否安装了mysql 服务器? 是的,我可以访问phpMyAdmin并制作数据库【参考方案2】:

请删除; ;extension=php_pdo.dll 之前并重启 Apache 服务器。

这里; 表示评论...所以你需要通过删除; 来取消评论。

【讨论】:

我取消注释 extension=php_pdo.dl 并且它仍然是相同的,即使我取消注释每个扩展。 重启了apache??? 是的,我确实在 C:\Apache24\bin 中使用 httpd -k stop 和 httpd -k start 重新启动 你可以通过硬编码来检查主机、数据库名、用户名、密码 $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $ this->db_name, $this->username, $this->password);在这个 new PDO("mysql:host=localhost;dbname=db_iis", "user", "user");

以上是关于php - PDOException 找不到驱动程序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP PDOException 找不到驱动程序

php artisan migrate:[PDOException] 找不到驱动程序

PDO:未捕获的 PDOException:找不到驱动程序

PDO 扩展配置 - 我在我的 PHP 应用程序中不断收到 PDOException“找不到驱动程序”

PDOException“找不到驱动程序”

Laravel 和 Postgresql 带有消息“找不到驱动程序”错误的 PDOException