centos6 php5.6连接sqlserver

来源:互联网 发布:贵港问政网络平台 编辑:程序博客网 时间:2024/06/15 21:45
没有安装之前的情况:nginx+php+mysql+FPM-FCGI
其中搭建好的环境是 使用的 https://lnmp.org/install.html

安装好后,会提示
Install lnmp takes 38 minutes.
Install lnmp V1.4 completed! enjoy it.

接下来安装步骤如下:
1、打开http://www.freetds.org/,进入到http://www.freetds.org/software.html页面.下载FreeTDS-stable.tgz.
也可以直接 wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz.
安装很简单。步骤如下:
1.1、进入到你下载的目录然后解压。tar -zxvf freetds-stable.tgz
1.2、cd freetds-0.91 (我目前下载的版本是0.91)
1.3、编译: ./configure --prefix=/usr/local/freetds --with-tdsver=7.1 --enable-msdblib
主要参数说明: --with-tdsver设置FreeTDS的版本,我这里设置了7.1是为了能连接SQL2005
--enable-msdblib是是否允许Microsoft数据库函数库,这里为允许;
1.4、make
1.5、make install
2、安装好之后,进行一下测试:
2.1、cd /usr/local/freetds/bin
2.2、./tsql -C
2.3、如果安装成功,则显示:

Compile-time settings (established with the "configure" script)
                            Version: freetds v1.00.67
             freetds.conf directory: /usr/local/freetds/etc
     MS db-lib source compatibility: yes
        Sybase binary compatibility: no
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 7.1
                              iODBC: no
                           unixodbc: no
              SSPI "trusted" logins: no
                           Kerberos: no
                            OpenSSL: yes
                             GnuTLS: no
                               MARS: no





2.4、配置freetds.conf
2.5、打开freetds.conf, vi /usr/local/freetds/etc/freetds.conf
2.6、在A typical Microsoft server 下面添加我们要连接数据库的一些信息
[mssql_info]
host = 192.168.1.2
port = 1433
tds version = 7.0
3、由于之前没有把mssql的扩展编译进来。所以接下来还需要动态编译一下。我们这里利用phpize来实现。
3.1、解压php-5.3.17.tar.gz的源包。
3.2、进入php/ext/mssql
3.3、执行/usr/local/php/bin/phpize
3.4、./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
3.5、make
3.6、make install
3.7、生成module目录中提取mssql.so复制到/usr/local/php/lib/php/extensions/中
3.8、.配置php.ini中extension_dir='/usr/local/php/lib/php/extensions/'
3.9、添加一行extension=mssql.so;
3.10、重启nginx.
最后检查是否正常:
在网页输出phpinfo()的信息,搜索mssql的内容。

#安装MSSQL PDO_DBLIB 扩展
3.2、进入php/ext/pdo_dblib
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
3.5、make
3.6、make install
3.7、生成module目录中提取pdo_dblib.so复制到/usr/local/php/lib/php/extensions/中
3.8、.配置php.ini中extension_dir='/usr/local/php/lib/php/extensions/'
3.9、添加一行extension=pdo_dblib.so;

4.加入微软的源
  1. curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo 
二、防止冲突先卸载原有版本(可选)
  1. yum remove unixODBC 
复制代码
三、安装驱动(三个都要装上,缺一不可)
  1. yum install msodbcsql mssql-tools unixODBC-devel

四、测试连接
用php程序,测试连接mssqlserver 数据库,不出意外的情况,应该能正常连接