扫码关注官方订阅号
我们有个项目,由不同团队开发。一边用windows + .net + sql server 2008;另外一边用linux + yii(php) + mysql开发,现在想用yii去连接sql server,开发环境的系统是osx,怎么解决连接的问题?
windows
.net
sql server 2008
linux
yii(php)
mysql
yii
sql server
osx
小伙看你根骨奇佳,潜力无限,来学PHP伐。
http://www.yiiframework.com/doc/guide/1.1/en/database.dao#establishing...
和链接mysql是一样的。 你去连接sql server的话,把dsn配置改下就可以了
$connection=new CDbConnection('mssql:host=localhost;dbname=testdb',$username,$password);
如果host不是在一台机器上就该下host=sql_server_host
找到一些答案,遇到一些问题做个记录。
http://php.net/manual/zh/pdo.drivers.php
目前采用freeTDS和pdo_dblib解决的,但是编码有问题。yii用utf-8,sql server上用gbk。
osx配置如下,utf8放下面会报错,不知道什么原因。
'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ],
ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
编码的问题已经解决,看这里:http://segmentfault.com/q/1010000002661362
研究问题之后,知道了。 unix/linux 连接 sql server 的方式很多种,比如 freetds + unixODBC(iODBC)等。
php的pdo能支持,不管哪种数据库,无非是数据库驱动器和数据库管理器的连接的问题。
PHP的PDO链接:http://php.net/manual/zh/pdo.drivers.php
主要是驱动和连接字符串的格式问题。我这边验证过的格式1 使用php_pdo_sqlsrv_55_ts.dl 这种数据库驱动 (55代表php 5.5)2 'dsn' => 'sqlsrv:Server=ip;Database=dbname',3 phpinfo() 查看 PDO support 的数据库类型 否则会报错:Error:SQLSTATE[IMSSP]: An invalid keyword 'host' was specified in the DSN string
几个连接看一遍就清楚了 php 连接 mssql sql2008
PHP连接mssqlPHP5.4配置sql server
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
http://www.yiiframework.com/doc/guide/1.1/en/database.dao#establishing...
和链接mysql是一样的。
你去连接sql server的话,把dsn配置改下就可以了
如果host不是在一台机器上就该下host=sql_server_host
找到一些答案,遇到一些问题做个记录。
http://php.net/manual/zh/pdo.drivers.php
目前采用freeTDS和pdo_dblib解决的,但是编码有问题。yii用utf-8,sql server上用gbk。
osx配置如下,utf8放下面会报错,不知道什么原因。
ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
编码的问题已经解决,看这里:http://segmentfault.com/q/1010000002661362
研究问题之后,知道了。 unix/linux 连接 sql server 的方式很多种,比如 freetds + unixODBC(iODBC)等。
php的pdo能支持,不管哪种数据库,无非是数据库驱动器和数据库管理器的连接的问题。
PHP的PDO链接:http://php.net/manual/zh/pdo.drivers.php
主要是驱动和连接字符串的格式问题。

我这边验证过的格式
1 使用php_pdo_sqlsrv_55_ts.dl 这种数据库驱动 (55代表php 5.5)
2 'dsn' => 'sqlsrv:Server=ip;Database=dbname',
3 phpinfo() 查看 PDO support 的数据库类型 否则会报错:Error:SQLSTATE[IMSSP]: An invalid keyword 'host' was specified in the DSN string
几个连接看一遍就清楚了
php 连接 mssql sql2008
PHP连接mssql
PHP5.4配置sql server