2017-07-19 102 views
0

我试图连接到我的SQL Server 2000数据库,但我得到一个错误连接与学说PDO_SQLSRV分贝

找不到驱动程序

当我使用PDO_SQLSRV。 但是,如果使用SQLSRV我得到一个错误

尝试从命名空间 “学说\ DBAL \驱动程序\ SQLSRV”调用函数“sqlsrv_configure”。

这里是我的config.yml

config.yml

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       dbname: "%database_name%" 
       user: "%database_user%" 
       password: "%database_password%" 
       host: "%database_host%" 
       driver: pdo_mysql 
       charset: utf8mb4 
       default_table_options: 
        charset: utf8mb4 
        collate: utf8mb4_unicode_ci 
      connection2: 
       dbname: "%database_name2%" 
       user: "%database_user2%" 
       password: "%database_password2%" 
       host: "%database_host2%" 
       driver: pdo_sqlsrv 
       #driver: sqlsrv i've also tried this 
       #charset: utf8mb4 
       default_table_options: 
        charset: utf8mb4 
        collate: utf8mb4_unicode_ci 

有谁知道为什么我收到这些错误我?

回答

0

你可以试试:如果

driver:  pdo_sqlsrv 
database_port: 1433 

不知道这会工作,但尝试。

+0

阿尔文双层谢谢你,但不工作,我曾尝试以不同的方式连接只是为了检查参数是否正确,并成功了,我认为这个问题是在司机或我不知道可能是什么。 –

0

如果找不到函数sqlsrv_configure,则不会安装sqlsrv扩展。它可以在官方微软存储库here上找到。

您可以通过在终端中运行命令php -m来检查您是否安装了扩展。请注意,如果您在独立服务器上运行Symfony(例如MAMP,XAMP或其他使用PHP的非CLI版本的服务器),那么CLI和独立服务器使用的扩展名可能会有所不同。

您可以通过转到Symfony中的分析器(默认为/_profiler)并单击Configuration菜单项下的“查看完整的PHP配置”链接来测试此操作。这将打开phpinfo()屏幕。在那里寻找sqlsrvpdo_sqlsrv扩展。在Doctrine docs

编辑

寻找再次,似乎pdo_sqlsrv会引起问题。学说建议使用sqlsrv

pdo_sqlsrv:使用pdo_sqlsrv PDO 请注意,此驱动程序引起的在我们的测试问题,微软的SQL Server驱动程序。如果可能,最好使用sqlsrv驱动程序。

(重点不是我的)