系统:centos6.2
php版本:php5.3.3
1.下载freetds,这个软件在linux提供对mssql,sybase访问的。
下载地址:http://www.freetds.org/
安装好后,会在/usr/local/etc目录下生成freetds.conf设置文件。
如果是连接mssql 2005以上版本,需要将 tds version 改成7.2,注意要去掉前面的封号。
2.我使用的是pdo来连接,具体的驱动使用pdo_dblib,打开phpinfo()查看,如果没有这个扩展,则需要手动编译安装
2.1 下载php_5_3_3源码,需要用svn签出,php源码地址:http://www.php.net/svn.php
2.2 进入php扩展目录pdo_dblib ,运行phpize命令,则会在该目录下生成配置等相关文件,然后执行./configure, make, make test, make install就可以安装好了。
常见问题:phpize命令没有找到?这个需要安装php开发版本,php-devel,直接yum安装就OK了。
2.3 在/etc/php.d目录下新建里一个pdo_dblib.ini文件,内容如下:
; Enable pdo_dblib extension module extension=pdo_dblib.so
然后重新启动apache,建立测试文件,内容如下:
$pdo = new PDO("dblib:host=$host:$port;dbname=$db", $username, $password);
如果没有问题就能正常访问了。
常见问题:SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (severity 9) 提示服务器不存在
查看host, port是否有误?是否是被selinux阻挡?
如果是后面一个原因,暂时的处理办法就是先关掉,关掉方法如下:
打开 /etc/selinux/config ,将SELINUX设置为disabled,然后重新启动,再试试看,基本就没什么问题了。