yii2 - linux、mac下,php连接sql server的问题
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
,怎么解决连接的问题?
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会乱码。
'api' => [
'class' => 'yii\db\Connection',
'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8',
'username' => 'username',
'password' => 'password',
//'charset' => 'utf8',
],
编码的问题已经解决,看这里:http://segmentfault.com/q/1010000002661362
研究问题之后,知道了。 unix/linux 连接 sql server 的方式很多种,比如 freetds + unixODBC(iODBC)等。
php的pdo能支持,不管哪种数据库,无非是数据库驱动器和数据库管理器的连接的问题。
PHP的PDO链接:http://php.net/manual/zh/pdo.drivers.php
上一篇: PHP中MD5函数使用实例代码
推荐阅读
-
Linux下PHP连接SQL Server的办法
-
linux下 PHP 7 Laravel 使用unique做validation的时候生成SQL语句有问题
-
64位IIS7下的PHP 5.4配置及如何连接SQL Server 2008
-
windows 2008 r2 下面搭建 iis+sql server +php56 环境遇见的一些问题记录一下
-
Linux下PHP连接SQL Server的办法_PHP教程
-
php链接局域网mssql的有关问题[原因: 未与信任 SQL Server 连接相关联]
-
Mac os X下使用Nginx跟PHP的连接问题
-
关于PHP一直连接不上SQL server的问题
-
windows 2008 r2 下面搭建 iis+sql server +php5.6 环境遇见的一些问题记录一下,r2php5.6
-
Mac os X下使用Nginx跟PHP的连接问题