Linux(CentOS 5.1)上安装MSSQL扩展以及PDO支持
时间:2010-05-21 来源:dearyzy
按手册,一开始安装FreeTDS,然后按部就班的安装 mssql 以及 pdo_dblib ,基本上不可能过去
总是报错:
configure: error: Directory /usr/local/freetds is not a FreeTDS installation directory
本着外事不知问Google的原则,我发现这个世界上居然有n多人都遇到了这个问题,但就是没有一个解决方法。实在没得办法了之后上 bugs.php.net 搜了一下,相必有人应该已经报了bug了,果然,它终于体现了它专业的优势
Bug #44991 | Compile Failure With freetds0.82 |
---|
找到问题所在,后面的东西就太好办了
高版本的不让装,低版本的还不么,低于 0.82 的最新的就是 0.64 了(http://ibiblio.org/pub/Linux/ALPHA/freetds/old/0.64/)
./configure --prefix=/usr/local/freetds --enable-msdblib --enable-sybase-compat --disable-threadsafe
make
make install
freeTDS就安装完了(注意,我的PHP是通过mod_php安装的,apache2.28 编译时是 --with-mpm=prefork 编译的,Apache是进程模型的,因此不需要线程安全,所以这里废掉 threadsafe)
下面进入垃圾时间(没有一点悬念了)
cd到PHP源代码目录去安装mssql扩展
export PHP_PREFIX=/usr/local/php5
$PHP_PREFIX/bin/phpize
./configure --with-php-config=$PHP_PREFIX/bin/php-config --with-mssql=/usr/local/freetds
make
make install
PHP_MSSQL扩展就安装完了(别忘了在php.ini 中添加 extension=mssql.so)
上PECL上下载 PDO_DBLIB 扩展(凡是我装的,从来都是必定安装PDO的)
./configure --with-php-config=$PHP_PREFIX/bin/php-config --with-pdo-dblib=/usr/local/freetds
make
make install
哈哈,到此结束,全部装完了,加载之后重启Apache,在PHPINFO里就可以看到新安装的扩展了,默认的,大概如下: