1

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

尝试创建数据库表时:

./symfony doctrine:insert-sql

我收到以下错误:

Couldn't locate driver named mysql

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

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

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

任何建议将不胜感激。

谢谢。

4

3 回答 3

4

我正在使用ubuntu+ mysql(单独安装非灯)并php cli通过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

对不起,从我的回答中交叉发布在这里

于 2011-09-27T05:03:08.980 回答
1

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

于 2017-08-14T04:02:08.113 回答
0

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

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

于 2010-03-15T12:00:19.207 回答