PDOException“找不到驱动程序”

PDOException “could not find driver”

提问人:Mike Moore 提问时间:5/18/2010 最后编辑:ghbarrattMike Moore 更新时间:4/26/2023 访问量:1236920

问:

我刚刚安装了带有 Apache、MySQL 和 PHP 的 Debian Lenny,并且我收到了 PDOException 。could not find driver

这是它所指的特定代码行:

$dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

DB_HOST、 、 和我定义的常量。它在生产服务器(以及我以前的 Ubuntu Server 设置)上运行良好。DB_NAMEDB_USERDB_PASS

这与我的PHP安装有关吗?

在互联网上搜索没有帮助,我得到的只是专家交流和例子,但没有解决方案。

php mysql pdo

评论

33赞 styfle 1/27/2012
查看你的extension=php_pdo_mysql.dllphp.ini'文件可以通过查看你的phpinfo()找到。php.ini' file and uncomment . The path to your
3赞 Joe 6/22/2014
仅供参考,如果您收到此错误并且GoDaddy是您的主机,请登录您的管理员帐户。托管详细信息>编程语言。将您的 PHP 版本升级到最新版本或至少 5.4
0赞 EugenSunic 10/19/2015
@Joe我升级了,但仍然收到错误 (GoDaddy)
6赞 cleybertandre 6/10/2019
敬启者:如果您在 docker 上使用 php 7.1+,您可以进入容器并运行 .docker execdocker-php-ext-install pdo pdo_mysql
3赞 Torque 9/12/2019
你可以,但你不应该。像这样的更改仅存在于临时容器中,并且很容易在重新启动、重建和更新中丢失。相反,您应该将该行添加到 Dockerfile,以确保它成为 Docker 映像的永久部分。

答:

5赞 cem 5/18/2010 #1

您是否检查了php.ini(使用phpinfo()检查正确的位置)MySQL和驱动程序是否正确?

评论

2赞 Mike Moore 5/18/2010
我正在查找php.ini,但是我应该寻找什么?我看到一个以[MySQL]
307赞 ZZ Coder 5/18/2010 #2

你需要有一个名为 pdo_mysql 的模块。在 phpinfo() 中寻找关注,

pdo_mysql

PDO Driver for MySQL, client library version => 5.1.44

评论

0赞 Mike Moore 6/14/2010
@Hristo 我认为该模块不是 Debian Lenny 默认软件包的一部分pdo_mysql
17赞 Tom Carver 10/1/2013
我可以推荐 Ubuntu “php5-mysql” 软件包来安装 MySQL 的 PDO 支持
4赞 Mugoma J. Okomba 8/31/2016
请注意,对于使用 Apache 或其他 Web 服务器的用户,需要重新启动 Apache 才能使更改生效:sudo systemctl restart httpd.service
73赞 Ivan Marjanovic 10/13/2016
对于 Ubuntu 16.04 和 PHP7,请使用sudo apt-get install php-mysql
7赞 krisanalfa 5/23/2018
在 CLI 中,您可以通过以下方式验证您的安装:php -i | grep pdo_mysql
96赞 Sudipta Chatterjee 8/28/2010 #3

更新:较新的版本应使用包而不是 .因此,如果您使用的是最新的 ubuntu 版本,请使用它:php-sqlite3php5-sqlite

sudo apt-get install sqlite php-sqlite3

问题的原始答案在这里:

sudo apt-get install sqlite php5-sqlite
sudo /etc/init.d/apache2 restart

如果你的phpinfo()没有显示pdo_sqlite行(在我的例子中,在我的Ubuntu服务器上),你只需要运行上面的行,然后你就可以开始了。

评论

66赞 Andrew Ensley 9/22/2012
当 OP 使用 MySQL 时,您为什么要给出 sqlite 的说明?
7赞 Aitch 2/10/2015
@Andrew,如果您使用但未安装,则只会得到一个没有关于缺少SQLite的信息,并尝试安装两次。pdo_sqlitephp5-sqlitePDOExceptionphp5-mysql
2赞 Matthias 10/22/2016
请注意,php5-sqlite 已经过时,可能不再适用于您的系统,即 Ubuntu 16.04。请改为安装 php-sqlite3。
3赞 Andrew Ensley 3/4/2017
@briankip当然可以,如果您尝试连接到SQLite并且缺少该驱动程序。但是 OP 正在尝试连接到 MySQL。安装sqlite将/无法解决他的问题。
5赞 elrobis 3/6/2019
@AndrewEnsley。此页面的标题是每个人无论其数据库平台如何都会收到的错误。因此,如果您只在谷歌上搜索错误,此页面的谷歌搜索排名最高。因此,国际海事组织,这里应该欢迎对与其他数据库相关的这个问题的任何答案。如果他们对 OP 不起作用,那就这样吧......OP不必接受这些答案。这并不意味着这个答案对其他人没有“用处”,因为他们调查了标题中的错误消息,该错误信息赋予了这个问题 Zoltar 的搜索排名。+1
225赞 ghbarratt 11/10/2011 #4

代码中的 dsn 显示您正在尝试与 mysql 驱动程序连接。错误消息指示此驱动程序不可用。

检查服务器上是否安装了 mysql 扩展。

在 Ubuntu/Debian 中,您可以使用以下命令检查软件包:

dpkg --get-selections | grep php | grep mysql

如果没有 php5-mysql 软件包,请安装它。

在 Ubuntu/Debian 中,您可以使用:

  • PHP5:sudo apt-get install php5-mysql
  • PHP7:sudo apt-get install php7.0-mysql

最后,要让它正常工作,您需要重新启动 Web 服务器:

  • 阿帕奇:sudo /etc/init.d/apache2 restart
  • Nginx的:sudo /etc/init.d/nginx restart

评论

0赞 Prashant Barve 1/12/2017
php-mysql 已经是最新版本 (1:7.1+49+deb.sury.org~xenial+4)。当尝试在 ubuntu 中使用 nginx php fpm 运行命令 sudo apt-get install php-mysql 时,我还重新启动了 php fpm,然后重新启动了 nginx。
0赞 John P 3/12/2018
目前它似乎是 php-mysql 和 php7.1-mysql。希望这是向前发展的模式。
3赞 gposton 6/22/2012 #5

就我而言,我的DSN字符串不正确,特别是它不包含我本来会期望不同的错误消息,也许是“DSN字符串未指定驱动程序/协议”。mysql://.

添加到 DSN 字符串的开头解决了该问题。mysql://

3赞 hserge 8/18/2012 #6

检查 php 配置文件中的extension_dir设置是否正确。尝试注释/取消注释某些扩展,看看它是否反映在phpinfo()上。 如果没有,则无法加载 php 配置文件(错误的位置),extension_dir被注释或设置为错误的位置。

1赞 douggynix 11/9/2012 #7

我在 Debian 6 上修复了这个问题。 通常我只是安装了软件包。安装后,您必须重新启动 Web 服务器(apache 或 nginx,具体取决于您安装的服务器)。 然后我只是在apache进程id()上做一个,如下所示:php5-commonlsoflsof -p process_id

sudo lsof -p 1399   #replace 1399 by your apache process id
apache2 1399 root  mem    REG  254,2    80352 227236 /usr/lib/php5/20090626/xmlrpc.so
apache2 1399 root  mem    REG  254,2   166496 227235 /usr/lib/php5/20090626/suhosin.so
apache2 1399 root  mem    REG  254,2    31120 227233 /usr/lib/php5/20090626/pdo_mysql.so
apache2 1399 root  mem    REG  254,2   100776 227216 /usr/lib/php5/20090626/pdo.so
apache2 1399 root  mem    REG  254,2   135864 227232 /usr/lib/php5/20090626/mysqli.so

如上所述,模块安装在未知的文件路径上,或由通用库路径 /。对于您的安装,它可能会有所不同,但只有 pdo_mysql.so、pdo.so mysqli.so 的路径。因此,这就是为什么Drupal或任何其他php引擎都找不到该库并显示该错误的原因:usr/lib/php5/20090626/PDOException: could not find driver

我只是不知道为什么它被安装在如此奇怪的路径上,对我来说,这只是 debian 6 中库包安装脚本中的一个错误。 我通过使用以下命令为 to 下的所有文件创建一个符号来解决这个问题:/usr/lib/php5/20090626//usr/lib/php5/

ln -s /usr/lib/php5/20090626/* /usr/lib/php5/

评论

0赞 Prashant Barve 1/12/2017
php-mysql 已经是最新版本 (1:7.1+49+deb.sury.org~xenial+4)。
14赞 Dmitry Sobolev 4/16/2013 #8

在 Ubuntu 上,只需执行

sudo apt-get install php5-mysql

评论

1赞 Reinherd 8/1/2013
我是 Symfony2 和 Ubuntu 的幕后推手。Pdo_mysql找不到( [PDOException] 找不到驱动程序)。这解决了问题。
2赞 Kzqai 5/21/2016
对我来说,我缺少Postgresql,所以它最终是:sudo apt-get install php5-pgsql
1赞 Persianuser 6/3/2013 #9
$DB_TYPE = 'mysql'; //Type of database<br>
$DB_HOST = 'localhost'; //Host name<br>
$DB_USER = 'root'; //Host Username<br>
$DB_PASS = ''; //Host Password<br>
$DB_NAME = 'database_name'; //Database name<br><br>

$dbh = new PDO("$DB_TYPE:host=$DB_HOST; dbname=$DB_NAME;", $DB_USER, $DB_PASS); // PDO Connection

这对我有用。

评论

1赞 eggmatters 8/2/2014
如果没有驱动程序,此用户仍将收到相同的异常
26赞 berdzi 6/11/2013 #10

在我的Windows机器上,我必须在我的php.ini中提供扩展目录的绝对路径:

extension_dir = "c:\php5\ext"

评论

2赞 scipilot 7/9/2014
我刚刚确认这是真的(Win2008)。奇怪 - 其他扩展仅适用于推荐的,但不适用于这个。extension_dir = "ext"
0赞 Chris Gibb 11/26/2017
同样在这里。添加了路径并开始工作。Windows10,php7.1
5赞 SimonW 7/23/2014 #11

对于我,我通过安装软件包解决了这个问题。PHP 5.5CentOSphp55-mysqlnd

sudo yum -y install php55w-mysqlnd # For Webtatic
sudo yum -y install php55u-mysqlnd # For Remi

如需安装帮助,请写一条评论,因为这取决于 PHP 在系统上的安装方式。可用的 repo 是 webtaticremi

0赞 ioleo 9/5/2014 #12

我在尝试使用 时遇到了同样的异常。问题是自动创建的符号链接和符号链接 (in ) 被破坏了。pdo_sqlite20-pdo_sqlite.ini20-sqlite3.ini/etc/php5/mods-enabled

删除损坏的符号链接并手动添加它们:

  • sudo ln -s /etc/php5/mods-avaliable/pdo_sqlite.ini /etc/php5/mods-enabled/20-pdo_sqlite.ini
  • sudo ln -s /etc/php5/mods-avaliable/sqlite3.ini /etc/php5/mods-enabled/20-sqlite3.ini

修复了该问题。

注意:这不适用于较旧的 php 版本,因为它们没有在/etc/php5/mods-enabled

6赞 Paul Foster 11/18/2014 #13

将这些添加到 php 中时.ini请确保php_pdo.dll引用在数据库驱动程序 dll 之前,否则这也会导致此错误消息。像这样添加它们:

[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_MYSQL]
extension=php_pdo_mysql.dll

评论

2赞 Martin Zeitler 11/13/2015
从 PHP v5.3 开始,该模块不再需要(不存在)。php.net/manual/en/pdo.installation.php 可能是这个问题的最终答案。php_pdo.dll
-3赞 Entrust 4/2/2015 #14

有同样的问题,只是想通了,网站在 MAMP 的 php 下运行,但是当您调用命令时,它会运行 mac 的(如果没有修改 bash 路径)。当Mac没有这些扩展时,您将遇到问题。

运行 php -i 找出已加载的扩展,并安装您错过的扩展。 或运行“/Applications/MAMP/bin/php/php5.3.6/bin/php artisan {your command}”以使用 MAMP 的

-3赞 Riccardo Compagnone 4/27/2015 #15

我通过在“IIS Information Service - > PHP Exstention”中启用php_pdo_mysql.ddl解决了这个问题。

-7赞 Anton 5/27/2015 #16

就我而言(Windows XP + Apache2.2 + PHP 5.4.31),我更改了以解决此问题:PHPIniDirhttpd.conf

从:

"C:\php5\" 

自:

"C:/php5/"
2赞 Japheth Ongeri - inkalimeva 12/8/2015 #17

问题是缺少php到mysql库。在 CentOs 中,我通过运行然后重新启动 apache 来修复它,请注意,命名与基于 debian/ubuntu 的发行版、php->php5 和 httpd->apache2 略有不同。# yum install php-mysql# /bin/systemctl restart httpd.service

-2赞 Teoman Diler 2/7/2016 #18

去掉前面的分号;extension=php_pdo_mysql.dll .ini并保存。 别忘了重启 xampp Apache 和 Mysql。

1赞 Roshimon 5/10/2016 #19

在我删除 php5 软件包(也包括所有驱动程序)以安装 php7 软件包后,我遇到了同样的问题。我实际上在没有 mysql 模块的情况下安装了 php7 包。

我设法通过在终端中输入来解决它:

1) $ apt-cache 搜索 php7 其中列出了所有模块,查看我找到的模块,

php7.0-mysql - PHP的MySQL模块

2) $ sudo apt-get 安装 php7.0-mysql

就是这样。它在我的 linux 系统中为我工作。

(使用适当的 PHP 版本,您的版本可能是 PHP5)

10赞 Moses Nandwa 5/12/2016 #20
sudo apt-get install php-mysql 

在 Ubuntu 和 PHP 7 上运行良好

评论

0赞 Mubashar Abbas 7/22/2016
它对我有用,虽然我没有使用 php7 而是 php5.6。但我确实安装了 7 个。我后来安装了 5.6 并在不卸载 php7 的情况下切换到它
1赞 Joe 6/29/2016 #21

还有一件事需要确认,因为有些人正在从 Internet 复制/粘贴示例代码以开始使用。确保您在此处输入了 MySQL:

... $dbh = new PDO ("mysql: ...  

在一些示例中,这显示了

$dbh = new PDO ("dblib ...
4赞 Facedown 7/23/2016 #22

我在使用单独的php.ini运行测试时遇到了同样的问题。我必须将这些行添加到我自己的php.ini文件中:

[PHP]
extension = mysqlnd.so
extension = pdo.so
extension = pdo_mysql.so

注意:完全按此顺序

53赞 ThomasAFink 8/19/2016 #23

对于具有 PHP 7.0 的较新版本的 Ubuntu,您可以获取以下软件包:php-mysql

sudo apt-get install php-mysql

然后重新启动服务器:

sudo service apache2 restart

评论

0赞 Stan Sokolov 10/24/2019
我认为现在您必须具体使用版本 sudo apt-get install php7.2-mysql
2赞 MSS 9/18/2016 #24

我强烈推荐,而不是因为您会遇到很多问题,例如数字转换和位类型评估扩展问题。mysqllndmysqlmysql

在 Ubuntu 上安装以下命令:mysqllnd

sudo apt-get install php5-mysqlnd
0赞 Ganesh Bhosale 10/19/2016 #25

如果您使用 sqlite 进行测试,您将需要 php sqlite pdo drive。 您可以按如下方式安装它们。

对于 Ubuntu 14.04

sudo apt-get install php5-sqlite
sudo service apache2 restart

在 ubuntu 16.04 中没有php5-sqlite

sudo apt-get install php7.0-sqlite
sudo service apache2 restart
2赞 Balmipour 10/31/2016 #26

就我而言,我在 php-cli 中使用 PDO,它工作正常。

只有当我尝试从 apache 连接时,我才遇到“缺少驱动程序”问题,我不太明白。

一个简单的问题就解决了。(Ubuntu 16.04 / PHP7.致谢归于所选答案和Ivan的评论)apt-get install php-mysql

希望能有所帮助。

3赞 Growling Flea 1/5/2017 #27

我花了最后一天的时间试图弄清楚为什么我会出现以下错误。我正在运行 Ubuntu 14.04。

问题:
我注意到我的 PHP-CLI 版本运行的是 php7.0,但 php_info()(网络版)显示 php 5.5.9。尽管 php_info() 表示已启用 PDO,但使用命令行 (CLI) 无法识别 pdo_mysql 命令。事实证明,我的旧版本启用了 mysql,但没有为 CLI 版本启用。我所做的只是为 php7.0 安装 mysql,它能够工作。

这是有效的:

要检查版本:

php -v

安装php7.0的mysql

sudo apt-get install php7.0-mysql

1) 确保您的 CLI 版本与您的 Web 版本
相同 2) 如果它们不同,请确保您的 CLI 版本具有 mysql 插件,因为它没有作为默认值提供。

1赞 aneth101 2/18/2017 #28

对于那些使用 Symfony2/3 并想知道为什么会出现此错误的用户。如果您使用的是“mapping_types”,则可能会遇到此错误。原因是“mapping_types”被放在了错误的级别。例如:

doctrine:
  dbal:
    mapping_types:
        set: string

这个“mapping_types”必须放在这个级别:

doctrine:
dbal:
    #To counter the error caused by 'mapping_types'
    connections:
        default:
            server_version: %database_server_version%
            mapping_types:
                set: string

我希望这会有所帮助

我在这里找到了解决方案:https://github.com/doctrine/DoctrineBundle/issues/327

0赞 Andrei .K 2/28/2017 #29

对于Linux Mint

我在使用 PhpBrew ( 5.5.9 / 7.0.14 ) 并尝试创建 PDO 连接时遇到了同样的问题。

在我尝试了这篇文章中的大多数解决方案后,我做了以下工作:

  1. 关闭 PhpBrew 电源

  2. 执行 (Linux Mint 17.2 / PHP7.0.16) - 安装了新的 php 版本sudo apt-get install php7.0

33赞 onlyme 6/5/2017 #30

我有同样的问题。解决方案取决于操作系统。就我而言,我有 debian,所以要解决它:

  • 将我的 php 版本从(php5 更新为 php7)
  • 安装 php-mysql 和 php7.0-mysql

    apt-get install php-mysql
    apt-get install php7.0-mysql
    
  • 我在 /etc/php/7.0/apache2/php.ini 编辑了我的位置php.ini

    uncomment the line : extension=php_pdo_mysql.dll
    
  • 然后重启 apache:

    service apache2 restart
    

这解决了我的问题

评论

0赞 depwl9992 11/13/2017
顺便说一句,对于那些像我这样发现这还不够并且不想在验证 php7 可以工作之前完全删除 php5 的步骤的人来说:、、,最后让我重新启动并运行。a2dismod php5a2enmod php7.0service apache2 restart
6赞 Egor Doynikov 12/20/2017 #31

对于 Windows 8.1/10,在:\\php.ini文件中,您应该取消注释行“extension=pdo_mysql”

1赞 papillon 2/13/2018 #32

无论我走到哪里,我都读到应该将路径从绝对路径更改为绝对路径。它对我有用。但是,在尝试构建我同事的 PC 服务器时,我不得不让值 to 而不是放置绝对路径。extension_dirextext

如果您确实放置了绝对路径,但仍然找不到扩展名,请考虑尝试使用绝对路径和 .ext

4赞 RealSollyM 9/21/2018 #33

调用了不正确的 PHP 安装

我遇到了同样的问题。我希望这能帮助到和我有类似问题的人。

场景

OS = Windows 10  
Platform = XAMPP  
PHP Version = 7 (Multiple Version seem to have been installed in the PC)  

我在文件夹中创建了文件并运行 以查找我的文件的位置。phpinfo.phppublicphpinfo()php.ini

PHP.ini 位置 =c:\xampp\php\php.ini

问题
呼叫返回,但显示 。
c:\xampp\htdocs> php -vPHP 7.2.3phpinfo.phpPHP 7.2.2

解决方案
:代替调用

php artisan migrate:install   

这给了我这个错误,我用了

c:\xampp\php\php artisan migrate:install

它奏效了。

0赞 JerzySBG 10/19/2018 #34

如果您阅读了上面的所有答案,但它仍然不起作用......

确保您的 PHP PDO 连接字符串正常。不像我的:

$dbh = new PDO('"mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS)

错误消息中没有未找到驱动程序的信息。

重新安装所有可能的 PDO 和 MySQL 库后,我发现在我的连接字符串的开头有

1赞 Alexandr Nizhnik 5/30/2019 #35

在 phpinfo() 中检查extension_dir中的正确路径。

1赞 Adam 6/21/2019 #36

有同样的问题,因为我忘记进入我的虚拟机。如果我像这样转到我的本地目录:

cd /www/homestead/my_project
php artisan migrate

将出现该错误。但它适用于我的虚拟机

cd ~/homestead
vagrant ssh   
cd /www/homestead/my_project
php artisan migrate
16赞 Pratik 7/4/2019 #37

检查模块是否随 一起提供。php -m | grep pdo_mysql

如果没有,对于 PHP 7.2,您可以使用 .sudo apt install php7.2-mysql

在其他 PHP 版本和包管理器上使用类似的命令。

2赞 SamTzu 8/19/2019 #38
PHP Fatal error:  Uncaught PDOException: could not find driver

我挣扎着挣扎着“apt install php-mysql php7toInfinity and don't forget sqlite-what-ever's”,直到我回到基础并重置相关网站上的文件权限,我才无法摆脱此错误消息。

这 3 个命令重置网站上的文件和文件夹权限,并使其再次工作。

cd /var/www/web-site-name.com/web/

# find (sub) directories and change permissions
find . -type d -exec chmod 755 {} \;

# find files and change permissions
find . -type f -exec chmod 664 '{}' \;
-2赞 Brandon Emanual Almeida 8/20/2020 #39

我的解决方案是在 php 的安装中,没有正确配置环境变量和 php.ini 文件。做这两次更正一个不合时宜的工作线extension = pdo_mysql.so

0赞 Hmerman6006 12/27/2021 #40

我在使用cPanel的共享主机上遇到了同样的错误。默认情况下,如果已安装,则安装扩展。pdo_mysqlmysqlnd

但事实并非如此,我必须启用扩展才能使用 PDO。我使用 PHP 选择器 GUI 来更改它,但那是因为我懒得设置 SSH 连接。nd_pdo_mysql

O,忘了补充服务器是带有 MariaDB 的 Apache(经常忘记,尽管 MariaDB 与 MySql 具有相同的父级,但在引擎盖下某些功能可能略有不同)。

PHP 8.0的 拉拉维尔 8.0

0赞 Mujahid Naqvi 1/1/2023 #41

此答案适用于 mysql 数据库和正在使用 Xammp 的人

我尝试了很多来自 StackOverflow 的代码,但主要问题是我们必须检查两个文件 xammp php.ini 文件以及 php 文件夹 php.ini 文件并取消注释此扩展名“extension=pdo_mysql”在两个.ini注释中,一个看起来像这样

;extension=pdo_mysql

只需从头开始删除“;”分号,然后重新启动XAMMP,并在终端中运行这些命令

php artisan migrate:fresh --seed

此命令将刷新您的迁移,并完成种子设定

关闭上次 run serve 命令,然后再次运行

php artisan serve

现在它对你有用。

如果有任何错误,那么任何前辈都可以更新此答案

评论

0赞 pierpy 1/2/2023
请使用可视化编辑器或 Markdown 语法格式化您的代码。文档在这里。谢谢
0赞 Mujahid Naqvi 1/3/2023
当然@pierpy我是新手,这就是为什么我会尽量听从你的建议
0赞 Mujahid Naqvi 1/3/2023
我希望@pierpy现在看起来没问题=。
0赞 pierpy 1/3/2023
谢谢!格式良好的问题/答案提高了网站的可读性
0赞 Raphaël Goisque 1/23/2023 #42

对于使用 MAMP 的人,

如果您有

  1. 未注释extension=php_pdo_mysql.dll
  2. 设置扩展所在的正确路径(例如:extension_dir = "C:\MAMP\bin\php\php7.4.1\ext\")

...并且您仍然看不到扩展名,请确保您是从 Web 服务器的文档根目录调用的,而不是从其他位置调用的。pdo_mysqlphpinfo()phpinfo()

如果您从其他地方调用它,那么您可能编辑了错误的文件:php.ini

  1. 转到 Web 服务器的文档根目录(路径可在 Web 服务器> Mamp >首选项中找到)
  2. 创建一个在此文件夹中命名的文件,打开它并粘贴然后保存该文件。info.php<?php phpinfo(); ?>
  3. 打开您刚刚在浏览器中创建的信息.php通常为 http://localhost/info.php)
  4. 现在在页面中搜索“加载的配置文件”并查看文件的路径 --> 它可能与您最初编辑的版本不同。php.iniphp.ini
  5. 因此,打开此文件并进行编辑(取消注释..等)
  6. 重新启动服务器
  7. 再次检查info.php,应该会出现扩展名。pdo_mysql

如果没有,并且如果您之前像我一样更改了Web服务器的文档根目录的路径,我建议您再次将其设置为“C:\MAMP\htdocs”并将您的网站放在这里,因为这才是真正解决我的问题。

希望这可以帮助一些人。

0赞 Hassan Elshazly Eida 4/26/2023 #43

我发现我带有 xammp 的配置文件 php.ini 与 php 中的当前配置不同,因此通过运行

php --ini