我正在尝试连接到远程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错误中执行的相同查询无法加载驱动程序"
答案 0 :(得分:0)
您是否在symfony项目的app / config.yml文件中提到了这些pdo驱动程序?
你需要告诉symfony(这意味着在config.yml文件中写一下)关于这些驱动程序,以便他识别和使用它们。
看看这个主题,它可能对你有帮助,它是关于使用mysql pdo驱动程序和postgresql pdo驱动程序