Mysql Symfony2:信条;找不到驱动程序“;

Mysql Symfony2:信条;找不到驱动程序“;,mysql,symfony,pdo,doctrine,Mysql,Symfony,Pdo,Doctrine,两天前,我开始用Symfony编写一个webapp。现在,我正在尝试使用条令来保存一个新用户(我已经用命令php-app/console-条令:generate:entities在数据库中创建了一个实体和“linked”表) 当我在订阅表单上使用POST HTTP请求时,Symfony告诉我: 找不到驱动程序 500内部服务器错误-PDO异常 我在谷歌和这里找到了很多解决方案,但没有一个有效:/ 命令php-m给出: PDO pdo_mysql 我不理解为什么这不起作用,因为Doctrine

两天前,我开始用Symfony编写一个webapp。现在,我正在尝试使用条令来保存一个新用户(我已经用命令
php-app/console-条令:generate:entities
在数据库中创建了一个实体和“linked”表)

当我在订阅表单上使用POST HTTP请求时,Symfony告诉我:

找不到驱动程序

500内部服务器错误-PDO异常

我在谷歌和这里找到了很多解决方案,但没有一个有效:/

命令
php-m
给出:

PDO

pdo_mysql

我不理解为什么这不起作用,因为Doctrine可以生成用户实体并连接到mysql数据库(因为它在其中创建了一个名为“User”的表)

phpinfo()告诉我“PDO驱动程序”没有“值”。我想这就是我有一些问题的原因

另外,它告诉我:

配置文件(php.ini)路径:/etc/php5/cli

加载的配置文件:/etc/php5/cli/php.ini

我在文件“/etc/php5/cli/php.ini”中添加了以下行,并使用“/etc/init.d/apache2 restart”命令重新启动了apache服务器,但没有任何更改=/

extension=php_mysql.so

extension=php_mysqli.so

extension=php_pdo_mysql.so

扩展=pdo.so

“php--ini”现在生成:

PHP警告:PHP启动:无法加载动态库“/usr/lib/php5/20100525/PHP_-mysql.so”-/usr/lib/php5/20100525/PHP_-mysql.so:无法打开共享对象文件:在第0行的未知位置没有此类文件或目录

PHP警告:PHP启动:无法加载动态库“/usr/lib/php5/20100525/PHP_mysqli.so”-/usr/lib/php5/20100525/PHP_mysqli.so:无法打开共享对象文件:在第0行的未知位置没有此类文件或目录

PHP警告:PHP启动:无法加载动态库'/usr/lib/php5/20100525/PHP_-pdo_-mysql.so'-/usr/lib/php5/20100525/PHP_-pdo_-mysql.so:无法打开共享对象文件:在第0行的未知位置没有此类文件或目录

PHP警告:模块“PDO”已加载到第0行的未知中

配置文件(php.ini)路径:/etc/php5/cli

加载的配置文件:/etc/php5/cli/php.ini

在:/etc/php5/cli/conf.d中扫描其他.ini文件

解析的其他.ini文件:/etc/php5/cli/conf.d/10-pdo.ini

/etc/php5/cli/conf.d/20-curl.ini

/etc/php5/cli/conf.d/20-gd.ini

/etc/php5/cli/conf.d/20-mysql.ini

/etc/php5/cli/conf.d/20-mysqli.ini

/etc/php5/cli/conf.d/20-pdo_mysql.ini

/etc/php5/cli/conf.d/20-pdo_pgsql.ini

/etc/php5/cli/conf.d/20-pdo_sqlite.ini

/etc/php5/cli/conf.d/20-pgsql.ini

/etc/php5/cli/conf.d/20-sqlite3.ini


pdo司机应该在哪里?我想我遗漏了什么?

您的问题很可能是由于没有为Web服务器的PHP启用pdo造成的。PHP可以为CLI和Web服务器提供不同的配置。所有输出都来自PHP CLI。但是您的CLI的
php.ini
很好,这就是控制台工作的原因。CGI或FPM设置不正确


您需要找到CGI或FPM
php.ini
(位置可能会根据您的设置而变化-有关更多信息,请参阅),并确保您要使用的PDO和PDO驱动程序已在此处启用

确保在web服务器使用的php.ini中以及在命令行中注册了扩展。命令行和apache/php fpm/cgi可能有不同的php.ini配置文件。这将帮助您确认@JakubZalas的建议。命令行“php--ini”产生了什么结果?您找到了答案吗?如果是这样,我很想知道,因为我遇到了同样的问题。