linux连sql server 2012 和开启PHP sqlserver扩展

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux连sql server 2012 和开启PHP sqlserver扩展相关的知识,希望对你有一定的参考价值。

连接sql server 2012数据库
http://www.freetds.org/userguide/choosingtdsprotocol.htm
技术分享图片
下载安装 ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.20.tar.gz
./configure --prefix=/usr/local/freetds --with-tdsver=7.4 --enable-msdblib
make && make install
验证版本 /usr/local/freetds/bin/tsql -C
技术分享图片
连接sql server 2012数据库
/usr/local/freetds/bin/tsql -H 192.168.1.200 -p 1433 -U username -P password
技术分享图片

安装拓展
mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make && make install

pdo_dblib
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-dblib=/usr/local/freetds
make && make install

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo_dblib.so
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mssql.so

重启后测试testsqldb.php
mssql方式

<?php
header("Content-type: text/html; charset=utf-8");
//$msdb=mssql_connect("数据库IP","用户名","密码");   
$msdb=mssql_connect("192.168.1.200:1433","username","password");
if (!$msdb) {
    echo "connect sqlserver error";
    exit;
    }
mssql_select_db("SCCMdata",$msdb);
$result = mssql_query("select * from Agents", $msdb);
while($row = mssql_fetch_array($result)) {
 print_r($row);
}
mssql_free_result($result);
?>

pdo_dblib方式

<?php
header("Content-type: text/html; charset=utf-8");
  try {
    $hostname = "192.168.1.200";
    $port = 1433;
    $dbname = "SCCMdata";
    $username = "username";
    $pw = "password";
    $dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }

  $stmt = $dbh->prepare("select * from Agents");
  $stmt->execute();
  while ($row = $stmt->fetch()) {
    print_r($row);
  }
  unset($dbh); unset($stmt);

?>

技术分享图片

以上是关于linux连sql server 2012 和开启PHP sqlserver扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何从非域注册的 Linux 机器使用 SQuirreL SQL 连接到 SQL Server?

使用 sqlalchemy 和 pyodbc 连接到 SQL Server 2012

请教server 2012如何开启NTP服务

使用 PHP 在运行 Windows Server 2012 的物理服务器上连接到 SQL Server 2012

如何使用 Windows 和 SQL 身份验证使用 SQL Server Management Studio 连接到 SQL Server

通过 QT C++ 连接到 SQL server 2005