【问题标题】:Why does Doctrine say it can't find the PDO driver?为什么 Doctrine 说找不到 PDO 驱动程序?
【发布时间】:2011-11-19 02:22:07
【问题描述】:

我今天试用了 Symfony 2,并尝试使用 Doctrine。

但是当我在命令行中使用命令php app/console doctrine:schema:create时,它返回了这个错误:

[PDOException]
could not find driver

doctrine:schema:create [--dump-sql] [--em[="..."]]

我的 php.ini 文件和 phpinfo() 清楚地显示 PDO 驱动程序已加载。我还在纯 PHP 中创建了一个小脚本,以使用 PDO 连接到我的数据库,它运行良好。没有错误,因此 PDO 已安装好并且可以正常工作。

PHP 和 MySQL 正在我的计算机上使用最新版本的 EasyPHP 运行。

Doctrine 出了什么问题?我现在应该去哪里看?

【问题讨论】:

  • 您是否也从 CLI 运行过那个小脚本? php -i呢?
  • 从 CLI 运行脚本时它不起作用...但是为什么呢?不是同一个php安装吗? :/ 我必须在 php -i 中找到什么?

标签: php symfony1 doctrine


【解决方案1】:

是的,如果你在命令行输入php -m,它应该同时列出PDOpdo_mysql。在我的情况下,它只显示PDO,这就是它找不到 MySQL 驱动程序的原因。

正如您已经评论的那样,我认为这是因为 PHP CLI 找不到合适的 php.ini 文件。

【讨论】:

    【解决方案2】:

    您需要正确配置您的 php cli,以加载 Web 服务器版本已配置加载的相同扩展。

    这是一个link,关于 PHP 搜索配置文件的位置

    【讨论】:

    • 当我执行php -m(在模块中编译的列表)时,我可以看到 PDO。我的目录中有两个 php.ini 文件(一个 dev 和一个用于 prod),我只找到了这些。
    • 谢谢,你是对的。问题是由于缺少 CLI 的 php.ini 文件。
    • 输入php --ini查看php.ini的位置
    【解决方案3】:

    sudo apt-get install php5-mysql

    会变魔术

    【讨论】:

    • 这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
    • @Ziumin 回来看看这个问题,这个答案确实解决了我的问题。它不仅是一个答案,而且如果进一步扩展,它可能是这个问题的公认答案。
    • 对我不起作用。一切都说 PDO 已安装并正在运行,但 Synfony 找不到它。
    • 这是为我解决它的答案(虽然考虑到 PHP 版本,但我不得不使用 sudo apt install php7.3-mysql)。
    【解决方案4】:

    在命令行中,检查是否支持 PDO:

    php -m|grep -i pdo
    

    如果没有,搜索php mysql support(Ubuntu):

    apt-cache search php5*|grep mysql
    

    并安装它:

    sudo apt-get install php5-mysql
    

    再次安装 packagem 检查后,您应该会看到 PDO mysql 支持。

    【讨论】:

      【解决方案5】:

      就我而言,我尝试从本地终端而不是从 docker 容器运行 bin/console。

      也许它会帮助其他人!

      【讨论】:

        【解决方案6】:

        如果您在 php 安装中编辑 php.ini,则该 .ini 文件是 phpinfo() 中指定的文件,并且您的 php.ini 更改仍然没有显示在您需要创建的 symfony 项目中php.ini 在你项目的根目录中并添加你想要覆盖的值。

        扫描此目录以获取其他 .ini 文件现在应该会显示您的项目根目录。

        已解析的其他 .ini 文件应显示新项目特定的 php.ini 文件。

        (我要在本地运行 Symfony 3.3 应用程序)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-08-05
          • 2017-11-07
          • 2014-07-23
          • 2013-04-25
          • 2017-09-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多