我试图在SQL Server 2000中连接到我的数据库,但是我收到错误
无法找到驱动程序
当我使用pdo_sqlsrv时。 但如果我使用sqlsrv我会收到错误
尝试调用函数" sqlsrv_configure"从命名空间 "学说\ DBAL \驱动\ SQLSRV"
这是我的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 :(得分:3)
如果找不到sqlsrv_configure函数,则不会安装sqlsrv扩展名。它可以在官方Microsoft存储库here中找到。
您可以通过在终端中运行命令php -m
来检查是否已安装扩展程序。请注意,如果您在独立服务器上运行Symfony(例如MAMP,XAMP或其他使用非CLI版本的PHP),那么CLI和独立服务器使用的扩展可能会有所不同。
您可以通过转到Symfony中的探查器(默认情况下为/_profiler
)并单击"查看完整的PHP配置"来测试此问题。 Configuration
菜单项下的链接。这将打开phpinfo()
屏幕。在那里寻找sqlsrv
或pdo_sqlsrv
个扩展名。
修改强>
再次查看Doctrine docs,似乎pdo_sqlsrv
会导致问题。 Doctrine建议使用sqlsrv
。
pdo_sqlsrv
:使用pdo_sqlsrv
PDO 的Microsoft SQL Server驱动程序请注意,此驱动程序在我们的测试中导致了问题。如果可能,请更喜欢sqlsrv驱动程序。
(强调不是我的)
答案 1 :(得分:0)
你可以尝试:
driver: pdo_sqlsrv
database_port: 1433
不确定这是否有效,但请尝试一下。