我试图使用Doctrine 2(对于Symfony 2)从linux机器连接到MSsqlServer。
我已经安装了pdo_dblib(FreeTDS / Sybase DB-lib的PDO驱动程序),并且可以通过命令行上的tsql和PHP cli连接到数据库服务器。 因此我知道这是行得通的。
在我的Symfony / app / config / parameters.ini文件中,我指定了database_driver =“pdo_sqlsrv”作为数据库驱动程序(因为我读过这个将由db_lib处理),但是当试图运行一个create database命令时(使用命令PHP app/console doctrine:database:create )我得到的错误:
无法创build数据库连接名称找不到驱动程序
Symfony2.0.15 Doctrine-Fixtures windows命令行致命错误
然后,我将驱动程序更改为database_driver="pdo_dblib" ,现在我得到错误:
[学说 DBAL DBALException]
给定的'driver'pdo_dblib是未知的,Doctrine目前仅支持以下驱动程序:pdo_MysqL,pdo_sqlite,pdo_pgsql,pdo_oci,oci8,ibm_db2,pdo_ibm,pdo_sqlsrv
所以,似乎连接到MSsql我唯一的select是pdo_sqlsrv ,所以我去安装这个。 不过, 我刚刚在这里发现了那个
PDO_sqlSRV扩展只与在windows上运行的PHP兼容。
因此,支持教条的驱动程序和那些可以在linux上使用的驱动程序似乎是相互独立的。 从search中我还没有发现这个问题到目前为止还没有被解决(一个人标志着问题已经解决了,但是当我读到这个线程的时候,他只是把他的开发环境变成了一个窗口框……不是我所拥有的心里!)。
在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驱动程序:dblib,MysqL,sqlite,…
dblib实际上是我们需要的
现在能够使用这个驱动与Doctrine,这篇文章: Doctrine 2 – 如何添加自定义的DBAL驱动程序? 帮助我找到答案。
OP建议在git上使用这个捆绑包,这使得一切工作。
总结以上是内存溢出为你收集整理的连接Doctrine 2到MSSQL SYMFONY 2在Linux上全部内容,希望文章能够帮你解决连接Doctrine 2到MSSQL SYMFONY 2在Linux上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)