加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 连接主义2到MSSQL对于SYMFONY 2在Linux上

发布时间:2020-12-13 16:36:07 所属栏目:PHP教程 来源:网络整理
导读:我试图使用Doctrine 2(Symfony 2)从 linux机器连接到MSSQLServer. 我已经安装了pdo_dblib(用于FreeTDS / Sybase DB-lib的PDO驱动程序),并且能够通过命令行上的tsql和php cli连接到db服务器.所以我知道这是工作. 在我的Symfony / app / config / parameters.i
我试图使用Doctrine 2(Symfony 2)从 linux机器连接到MSSQLServer.

我已经安装了pdo_dblib(用于FreeTDS / Sybase DB-lib的PDO驱动程序),并且能够通过命令行上的tsql和php cli连接到db服务器.所以我知道这是工作.

在我的Symfony / app / config / parameters.ini文件中,我指定了database_driver =“pdo_sqlsrv”作为数据库驱动程序(正如我读到的,这将由db_lib处理),但是当尝试运行一个create database命令(使用命令php app / console doctrine:database:create)我收到错误:

Could not create database for connection named could not find driver

然后我将驱动程序更改为database_driver =“pdo_dblib”,我现在得到错误:

[DoctrineDBALDBALException]
The given ‘driver’ pdo_dblib is unknown,Doctrine currently supports
only the following drivers: pdo_mysql,pdo_sqlite,pdo_pgsql,pdo_oci,
oci8,ibm_db2,pdo_ibm,pdo_sqlsrv

所以似乎连接到MSSQL我唯一的选择是pdo_sqlsrv,所以我去安装这个.但是,I have just discovered here,那个

The PDO_SQLSRV extension is only compatible with PHP running on Windows.

因此,支持学说的驱动程序和可用于linux的驱动程序似乎是相互矛盾的.从搜索我还没有发现这个问题的任何实例到目前为止被解决(一个人把问题标记为已解决,但是当我阅读线程时,他只是将他的开发环境移动到一个Windows框…不完全是我有心里!).

在linux下(至少基于Debian的发行版),php需要php5-sybase软件包来支持Sybase和MSSql.

如果您正在使用基于debian的发行版,您将需要做

$sudo apt-get install php5-sybase
$sudo service apache2 restart

php -r "phpinfo();" | grep "PDO drivers"

应该给你

PDO drivers: dblib,mysql,sqlite,…

dblib其实是我们需要的

现在可以使用这个驱动与Doctrine,这篇文章:
Doctrine 2 – How to add custom DBAL driver?帮我找到答案.

OP建议使用这个使事情一起工作的bundle on git.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读