【问题标题】:php - PDOException could not find driver [duplicate]php - PDOException 找不到驱动程序 [重复]
【发布时间】: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

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

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

感谢您的任何建议

【问题讨论】:

    标签: php mysql apache pdo


    【解决方案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");
    猜你喜欢
    • 2016-08-30
    • 2020-03-21
    • 2023-03-27
    • 2012-03-07
    • 2016-01-13
    • 2018-12-29
    • 2016-09-03
    • 2022-01-23
    相关资源
    最近更新 更多