我正在尝试学习PHP的Symfony框架,但是在命令行版本的php中遇到了问题。
尝试创建数据库表时:
./symfony doctrine:insert-sql
我收到以下错误:
Couldn't locate driver named mysql
这只是php的命令行版本的一个问题。我的学说没有问题。
在快速阅读问题后,似乎我需要为php的CLI安装启用PDO_MYSQL。我查看了php.ini文件,似乎没有相关条目。
是否有任何简单的方法可以使CLI版本使用与我的LAMPP配置完全相同的配置,以便最大限度地减少将来的复杂性?
非常感谢任何建议。
感谢。
答案 0 :(得分:3)
我正在使用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
后执行此操作。如果您正在使用其他数据库(例如postgres
或odbc
),请通过
sudo apt-cache search php5
抱歉,从my answer here
转发答案 1 :(得分:0)
检查apache文件夹中的php.ini并将PDO信息复制到php文件夹中的php.ini。
在我的灯泡配置中,我在php.ini
中只有'extension = pdo.so'答案 2 :(得分:0)
我认为这些答案有点陈旧。正确的答案是sudo apt-get install php-mysql。执行php5-mysql会导致找不到包,特别是在安装了php7-cli的机器上。如上所述,问题是虽然启用了PDO支持,但未安装驱动程序。我只是通过执行上面的命令来解决它。