• php扩展mssql.so连接sqlserver2008


    1、安装配置freetds 

    wget http://mirrors.xmu.edu.cn/ubuntu/archive/pool/main/f/freetds/freetds_0.82.orig.tar.gz 
    tar zxf freetds_0.82.orig.tar.gz 
    cd freetds_0.82 
    ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 -–enable-msdblib -–enable-dbmfix -–with-gnu-ld -–enable-shared -–enable-static 
    make && make install 

    2、编译php的mssql模块 

    cd /path/to/php/source 进入PHP源码目录 
    cd ext/mssql 进入MSSQL模块源码目录 
    /usr/local/webserver/php/bin/phpize 生成编译配置文件 
    ./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-mssql=/usr/local/freetds 
    make 
    make install 


    编译完成生成 mssql.so,修改php.ini,将该模块载入: 
    extension=”/path/to/extension/mssql.so” 

    3、配置mssql 

    cd /usr/local/freetds/etc 
    编辑文件: 
    vi freetds.conf 
    [global] 
    # TDS protocol version 
    ; tds version = 4.2 
    # Whether to write a TDSDUMP file for diagnostic purposes 
    # (setting this to /tmp is insecure on a multi-user system) 
    ; dump file = /tmp/freetds.log 
    ; debug flags = 0xffff 
    # Command and connection timeouts 
    ; timeout = 10 
    ; connect timeout = 10 
    # If you get out-of-memory errors, it may mean that your client 
    # is trying to allocate a huge buffer for a TEXT field. 
    # Try setting ‘text size' to a more reasonable limit 
    text size = 64512 
    client charset = UTF-8 #加入 
    #加入 
    [Server2005] 
    host = 192.168.x.x 
    port = 1433 
    tds version = 7.2 

    4、测试tds

    ./tsql -S 192.168.0.109 -U 用户名 -P 密码 -D 数据库
    如果可以有看到1>说明连接成功

    5、测试php连接mssql 

    复制代码代码如下:

    <?php 
    try { 
    $hostname='218.x.x.x';//注意,这里和上面不同,要直接用IP地址或主机名 
    $port=1433;//端口 
    $dbname="user";//库名 
    $username="database";//用户 
    $pw="passwd";//密码 
    $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw"); 
    } catch (PDOException $e) { 
    echo"Failed to get DB handle: ".$e->getMessage() ."n"; 
    exit; 

    echo'connent MSSQL succeed'; 
    $stmt=$dbh->prepare("select * from z_2010pinjiu_user"); 
    $stmt->execute(); 
    while ($row=$stmt->fetch()) { 
    print_r($row); 

    unset($dbh); unset($stmt); 
    ?> 
     
  • 相关阅读:
    【最短路】BAPC2014 B Button Bashing (Codeforces GYM 100526)
    【链表】【模拟】Codeforces 706E Working routine
    【数论】【扩展欧几里得】Codeforces 710D Two Arithmetic Progressions
    【动态规划】【最短路】Codeforces 710E Generate a String
    【模拟】Codeforces 710C Magic Odd Square
    【模拟】Codeforces 710B Optimal Point on a Line
    【模拟】Codeforces 710A King Moves
    【模拟】Codeforces 705A Hulk
    【模拟】Codeforces 705B Spider Man
    【模拟】Codeforces 704A & 705C Thor
  • 原文地址:https://www.cnblogs.com/cmsd/p/3799999.html
Copyright © 2020-2023  润新知