Mysql Symfony2:信条;找不到驱动程序“;
两天前,我开始用Symfony编写一个webapp。现在,我正在尝试使用条令来保存一个新用户(我已经用命令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
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”产生了什么结果?您找到了答案吗?如果是这样,我很想知道,因为我遇到了同样的问题。