在CentOS 5.0上安装PHP-MSSQL模块
Tim Haselaars的作者和内容( http://www.trinix.be )
正如您可能已经注意到Centos 5.0,在默认的yum存储库中没有可用的PHP-MSSQL模块/扩展。 所以如果你想使用它,你可以改变PHP二进制文件,或者你可以编译一个mssql模块/扩展名。 在本文中,我将解释如何编译mssql模块/扩展。
您需要激活RPMForge自定义存储库(正式名为Dag Wieers): http : //dag.wieers.com/rpm/packages/rpmforge-release/
抓住您的特定RPM并安装它:
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-*.rpm
rpm --install rpmforge-release-*.rpm
下一步是安装freetds
, freetds-devel
, php-devel
和开发工具。
yum groupinstall ‘Development Tools’
yum install freetds freetds-devel --enablerepo=rpmforge
yum install php-devel
接下来我们修改php.spec
文件,其中包含用于编译的php配置。
vi /usr/src/redhat/SPECS/php.spec
如果没有php.spec文件,可以下载php src rpm。
wget centos.mirrors.skynet.be/pub/centos/5/os/SRPMS/php-5.1.6-5.el5.src.rpm
接下来
rpm –install php-5.1.6-5.el5.src.rpm
然后做一个updatedb并找到php.spec。
编辑php.spec
文件的CFLAGS =
行(〜第310行) - 删除-Wno-pointer-sign
。 然后添加以下代码:
Group: Development/Languages Requires: php = %{version}-%{release}, php-pdo Summary: A module for PHP applications that use the MSSQL database. provides: php_database BuildRequires: freetds-devel %description mssql The MSSQL package contains a dynamic shared object that will add support for accessing MSSQL databases to php.
开始构建你的php rpm:
rpmbuild -bb ./php.spec
如果你被要求一些依赖,只要你安装它们。
cd /usr/src/redhat/BUILD/php-5.1.6/ext/mssql/
现在我们要做mssql模块,而不必重写php二进制文件:
phpize
./configure --with-mssql
make
make install
接下来查找mssql.so
文件,并确保它在您的php.ini
中指定的模块目录中。 如果需要,将其复制到指定的位置。
最后一步
vi /etc/php.ini
将此行添加到您的php.ini中
:
extension=mssql.so
保存php.ini
并重新启动Apache:
/etc/init.d/httpd restart
Etvoilà你刚刚做了你的mssql模块/扩展,而不用改变基础CentOS 5 HTTPD / PHP设置中的任何东西。