【问题标题】:How to enable PDO_MYSQL for CLI?如何为 CLI 启用 PDO_MYSQL?
【发布时间】:2010-03-14 20:05:35
【问题描述】:

我正在尝试学习 PHP 的 Symfony 框架,但在命令行版本的 php 上遇到问题。

尝试创建数据库表时:

./symfony doctrine:insert-sql

我收到以下错误:

Couldn't locate driver named mysql

这只是 php 命令行版本的问题。我的教义工作没问题。

在快速阅读问题后,似乎我需要为 php 的 CLI 安装启用 PDO_MYSQL。我查看了 php.ini 文件,似乎没有相关条目。

有没有什么简单的方法可以让 CLI 版本使用与我的 LAMPP 配置完全相同的配置,以尽量减少将来的复杂性?

任何建议将不胜感激。

谢谢。

【问题讨论】:

标签: php command-line-interface


【解决方案1】:

我正在使用ubuntu+mysql(单独安装非灯)和php cli via apt

sudo apt-get install php5-cli

默认情况下会安装 PDO,但未安装适当的数据库驱动程序(在我的情况下为 mysql)。这可以从命令行php --ri pdo 进行验证,结果是:

PDO support => enabled
PDO drivers => [ blank ]

要纠正 mysql 的问题,请通过

安装 php5-mysql 模块

sudo apt-get install php5-mysql

显然,在安装 php5-cli 之后执行此操作。如果您正在使用另一个数据库(例如 postgresodbc),请通过

查找适当的模块名称

sudo apt-cache search php5

对不起,来自my answer here

【讨论】:

  • 我只是按照你写的做了,但仍然没有让 php5-mysql 显示为 PDO 驱动程序。
【解决方案2】:

我认为这些答案有点老了。正确答案是 sudo apt-get install php-mysql。执行 php5-mysql 将导致找不到包,特别是在安装了 php7-cli 的机器上。如前所述,问题是虽然启用了 PDO 支持,但没有安装驱动程序。我只是通过执行上述命令来解决它。

【讨论】:

    【解决方案3】:

    检查 apache 文件夹中的 php.ini 并将 PDO 信息复制到 php 文件夹中的 php.ini 中。

    在我的 Lampp 配置中,我在 php.ini 中只有 'extension=pdo.so'

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2013-07-30
      • 2015-07-15
      • 1970-01-01
      • 2016-03-06
      • 1970-01-01
      • 2011-08-25
      • 2021-11-09
      • 2015-04-15
      相关资源
      最近更新 更多