centos7下的php+mssql远程连接

mssql的远程连接需要在在sql服务器端做很多配置,这里先略过,这里只讲下linux服务器方面的配置.

centos7里首先需要安装freeTDS,这是一个类库,可以提供从linux下访问sql server的功能.php的mssql和pdo-mssql都需要通过freetds来连接sql server.

安装很简单:

  http://www.freetds.org/ 下载,下载完成 tar一下嘛,然后configure然后make && make install,这都是老套路了,唯一注意的是 configure的参数

  ./configure --prefix=/usr/local/freetds  --enable-msdblib  --with-tdsver=8.0

  --with-tdsver这个不能丢,不同的freetds版本连接sqlserver端口不同, --enable-msdblib是安装php-mssql的必选项.

安装完成后cd /usr/local/freetds/etc,vim一下freetds.conf,增加一个mssql的服务器设置项,上面有示例,也很简单,

注意的是:

  dump file = /tmp/freetds.log”    #前面的冒号去掉,打开这个log日志

  tds version = 7.1     #我设置的是7.1,打开log日志一看,连接的是1433端口,设置8.0,连接的却不是1433端口,大家可以自己试下

记住新设置的名字,后面会用到这个名字的.如:

  [yunda]
  host = xxx.xxx.xxx.xxx
  port = 1433
  tds version = 7.1

这个yunda 就是后面要用到的名字.

 

下来安装php的mssql扩展,没有源代码的找个php同版本的源代码下载下来.

进入源代码目录/ext/mssql目录.

  /usr/bin/php/phpize

   ./configure --with-php-config=/opt/lampp/bin/php-config --with-mssql=/usr/local/freetds/

  make && make install

注意的是,这个php-config可不是你的php配置文件php.ini的位置,这个就是php-config文件的位置.

然后把mssql.so添加到php.ini里

  echo extension=mssql.so >> /opt/lampp/etc/php.ini

重启动一下服务就可以了,在连接是的时候填写

  mssql_connect("yunda","sa","xxxxxxx")

 

 

 

 

如果你要连接dblib,进入php源代码目录的php-dblib

 

  /opt/lampp/bin/phpize
    ./configure --with-php-config=/opt/lampp/bin/php-config --with-pdo-dblib=/usr/local/freetds/
  make && make install
  cp /opt/lampp/php-5.5.24/ext/pdo_dblib/modules/pdo_dblib.so  /usr/lib64/php/modules/pdo_dblib.so
  echo extension=pdo_dblib.so >> /opt/lampp/etc/php.ini
 
重启动服务

 

你可能感兴趣的:(centos)