下面是“Linux下安装PHP MSSQL扩展教程”的完整攻略。
准备工作
在安装 MSSQL 扩展之前必须先安装好其所依赖的环境。
安装FreeTDS
FreeTDS是一个能够让 Linux 或类 Unix 系统作为客户端连接到远程的 MSSQL 或 Sybase 服务器的桥梁。
- 下载源码包:
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.1.tar.gz
- 解压并进入目录:
tar xzf freetds-1.1.tar.gz
cd freetds-1.1
- 编译安装:
./configure --prefix=/usr/local/freetds
make && make install
安装ODBC
ODBC是一种接口,允许应用程序连接多种数据库管理系统(DBMS)。
- 安装ODBC:
apt-get install unixodbc unixodbc-dev
安装MSSQL扩展
以下步骤将安装php-mssql扩展:
- 下载源码:
wget http://museum.php.net/php5/php-5.2.17.tar.gz
- 解压并进入目录:
tar xzf php-5.2.17.tar.gz
cd php-5.2.17/ext/mssql
- 编写
config.m4
:
vi config.m4
添加以下内容:
```
PHP_ARG_WITH(mssql,for MSSQL support,
Make sure that the FreeTDS and/or MS SQL Client libraries are installed. \
An example can be found in the PHP Manual under MSSQL. Default is no. )
if test "$PHP_MSSQL" != "no"; then
if test -r /usr/local/freetds/lib/libsybdb.a; then
MSSQL_SHARED_LIBADD="-L/usr/local/freetds/lib -lsybdb"
MSSQL_STATIC_LIBADD="-L/usr/local/freetds/lib -lsybdb"
AC_DEFINE('HAVE_DBLIB',1,[ ])
PHP_NEW_EXTENSION(mssql,/path/to/source/file/mssql.c,\
$ext_shared,,)
else
AC_MSG_ERROR([MSSQL library not found.])
fi
fi
```
- 运行
phpize
:
/usr/local/php/bin/phpize
- 运行
./configure
:
./configure --with-php-config=/usr/local/php/bin/php-config
- 编译并安装:
make && make install
如果提示缺少libsybdb.a,可参考以下示例解决:
ln -s /usr/local/freetds/lib/libsybdb.so /usr/lib/libsybdb.so
- 修改php.ini:
vi /usr/local/php/etc/php.ini
添加以下内容:
extension=mssql.so
- 重启PHP:
/etc/init.d/php-fpm restart
至此,MSSQL扩展已经安装成功,可以使用 mssql_connect()
函数连接MSSQL数据库了。
示例1:
<?php
$conn = mssql_connect('127.0.0.1', 'sa', 'password');
if (!$conn) {
die('Could not connect: ' . mssql_get_last_message());
}
echo 'Connected successfully';
mssql_close($conn);
?>
示例2:
<?php
$serverName = "localhost"; //localhost\sqlexpress
$connectionInfo = array( "Database"=>"myDB", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.";
}else{
echo "Connection could not be established.";
die( print_r( sqlsrv_errors(), true));
}
sqlsrv_close( $conn);
?>
希望这个教程能够对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下安装PHP MSSQL扩展教程 - Python技术站