收破烂的才子 2017-07-30 19:17:36 6931次浏览 0条评论 2 2 0

背景:公司有一部分业务使用了用友的U8系统,而它的数据库则是sql server。因为我们的主业务系统mysql数据要写入它的库
环境:sql server2008(windows 2008),php5.6.31(linux),apache2.4,yii2(2.0.12)
备注:mssql安装在windows上,而php环境是centos上,也就是所谓的lamp环境
软件:freetds(必须),php5.6.31源码
安装方式:编译安装,其他方式大同小异
步骤1:安装freetds(http://www.freetds.org/)
cd freetds-1.00.48目录
./configure --prefix=自己安装的目录 --enable-msdblib
make -j4 && make install
步骤2:编译安装php操作mssql扩展,这里要详细说了,网上的教程太旧了,很多东西不说清楚误人子弟
1.首先看下yii2的db操作的源码
1122.png
2.根据这三个选择扩展
我们的php是lamp,所以选择了dblib
3.php.net上看了下
Requirements for Unix/Linux platforms.
To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: » http://www.freetds.org/
这个原因就是为何要在步骤1中安装软件Freetds
The MSSQL extension is enabled by adding extension=php_mssql.dll to php.ini.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR] , where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib .
这个原因就是为何要--enable-msdblib
4.我们知道了对应的扩展,那么php的扩展呢?都知道PDO吧,潮流的接口都实现了(其实在这一步,你应该想到dblib这个驱动,对应的找这个)
5.2233.png

上面写的很清楚,我们用pdo_dblib
6.编译安装此扩展
进入php源码目录
phpize.然后configure make && make install(这个太无聊了,不会的留言或者自己百度下)
7.启用扩展,编辑php.ini
到此时,所有安装告一段段落了
步骤3:yii2中如何配置?
3344.png

剩下的愉快的工作吧,骚年们

觉得很赞
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册