已检查php.ini文件,"extension=php_pdo_mysql.dll"已启用,但仍出现错误。

4

我已经检查了php.ini文件,扩展已启用:

extension=php_pdf.dll
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll

但是,当我尝试打开页面时,它仍然会出现错误

500 | 内部服务器错误 | 产生了异常 无法打开PDO连接[封装:找不到驱动程序]

现在我需要做什么?以消除这个错误

谢谢


首先,您应该发布导致问题的代码。 - soulmerge
我是Symfony的新手,我所做的就是执行以下命令:php symfony propel-generate-crud frontend post Post然后尝试打开以下链接:http://localhost/sf_sandbox/web/frontend_dev.php/post - jarus
请检查您的[phpinst]/ext目录中是否存在php_pdo_mysql.dll文件。 - dejjub-AIS
运行 php --ini 命令,查看是否缺少某个扩展。如果是这样,请打开您的 php.ini 文件,并检查扩展路径是否正确。寻找 extension_dir - Highmastdon
5个回答

2
  • 找出你实际需要哪种PDO驱动程序(MySQL、MS SQL等)

  • 通过自己实例化PDO进行测试,以避免出现其他错误:

    $db = new PDO('mysql:host=127.0.0.1;dbname=testdb', 'username', 'password');

如果你仍然收到“could not find driver”错误,那么你可以确定你确实缺少它 :)

如何安装它,如果你还没有它,这取决于你的系统。例如,在Debian Linux上,你需要执行apt-get install php5-mysql,它将安装mysqlmysqlipdo_mysql扩展。

安装后,请确保在php.ini中启用它。确保你编辑的是正确的文件——即你的web服务器使用的文件。

之后,要验证扩展是否已成功加载,可以执行以下操作之一:

  • 创建一个执行phpinfo()的脚本。你应该看到一个PDO部分,其中包含一个PDO drivers键和一个值,例如“mysql、pgsql”,或者

  • 从命令行运行php -m,你应该看到例如pdo_mysql


1

在扩展目录中的php_pdo_mysql.dll可能正在尝试加载libmysql.dll或mysql.dll,默认情况下它们位于php目录中(我想是这样-至少在我的php目录中,但我安装它已经很久了,我记不清它们是否默认存在或者我是否将它们复制到那里)。如果php目录不在您的PATH中,则这些后面的dll将无法找到并导致错误。

我建议检查libmysql.dll和/或mysql.dll是否在您的php目录中。如果是,请将您的php目录添加到系统的PATH中,并重新启动计算机。我曾经遇到过同样的问题,将php目录添加到系统的路径中,在重启Apache之前问题没有得到解决。我需要在Apache / PHP在php目录中找到dll之前重新启动。

另一种选择是将libmysql.dll和mysql.dll复制到默认搜索的目录中(是Windows目录还是Window\System32目录)。当加载php_pdo_mysql.dll时,它将能够找到相关的dll。

如果这两个dll不在您的php目录中,请尝试下载并安装MySQL。您可能会发现这些dll在MySQL安装程序安装的文件中。

如果您正在使用Apache,它应该在错误日志中报告无法加载php_pdo_mysql.dll。如果没有,请检查是否在启动时报告了其他错误。发布日志中的任何错误可能有助于诊断。
希望这可以帮助您。

0
在php.ini中设置以下内容以检查是否存在加载扩展的问题。
display_startup_errors = On

0
你正在使用命令行吗?
通常情况下,命令行和浏览器中的 PHP 使用不同的 PHP.ini 文件。
使用 phpinfo() 检查浏览器中包含的模块 使用 PHP -m 查看通过 CLI 安装的模块。

0
  • 过去我曾经遇到过问题,尽管DLL文件已经放在了php/ext/目录下且php路径设置正确,但是我仍然需要指定扩展的绝对路径。

  • 检查Apache错误日志以查看是否加载扩展时出现问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接