从事互联网开发、运营、设计、运维等工作。偏爱底层开发,服务器运维
全部博文(106)
分类: 系统运维
2010-05-21 17:58:22
按手册,一开始安装FreeTDS,然后按部就班的安装 mssql 以及 pdo_dblib ,基本上不可能过去
总是报错:
configure: error: Directory /usr/local/freetds is not a FreeTDS installation directory
本着外事不知问Google的原则,我发现这个世界上居然有n多人都遇到了这个问题,但就是没有一个解决方法。实在没得办法了之后上 bugs.php.net 搜了一下,相必有人应该已经报了bug了,果然,它终于体现了它专业的优势
#44991 | Compile Failure With freetds0.82 |
---|
找到问题所在,后面的东西就太好办了
高版本的不让装,低版本的还不么,低于 0.82 的最新的就是 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里就可以看到新安装的扩展了,默认的,大概如下: