Symfony中的Php和从命令行运行的php正在加载不同的驱动程序

时间:2017-02-16 00:25:35

标签: php sql sql-server pdo symfony

我正在尝试连接到远程sql服务器,并且已从命令行成功完成此操作。运行php -i | grep PDO时我得到了

PDO
PDO support => enabled
PDO drivers => sqlsrv, dblib, mysql
PDO Driver for FreeTDS/Sybase DB-lib => enabled
PDO Driver for MySQL => enabled`

从命令行运行php脚本时,我可以连接到远程DB没问题。在我的Symfony应用程序中运行完全相同的代码时,我得到了

[Doctrine\DBAL\Driver\PDOException]                              
SQLSTATE[01002] Adaptive Server connection failed (severity 9) 

当我在Symfony中运行phpinfo()时,出现的唯一PDO驱动程序是mysql

当我从命令行运行phpinfo()时,我得到mysql,sqlsrv和dblib

为什么某些pdo驱动程序没有在Symfony中加载?

编辑:在Symfony中正确配置数据库,因为php bin/console doctrine:query:sql "SELECT * FROM my_table"返回结果。使用"在Symfony错误中执行的相同查询无法加载驱动程序"

1 个答案:

答案 0 :(得分:0)

您是否在symfony项目的app / config.yml文件中提到了这些pdo驱动程序?

你需要告诉symfony(这意味着在config.yml文件中写一下)关于这些驱动程序,以便他识别和使用它们。

看看这个主题,它可能对你有帮助,它是关于使用mysql pdo驱动程序和postgresql pdo驱动程序

Use a postgres database with symfony3