宝塔 php5.6/Nginx连接SqlServer数据库


1、安装FreeTDS

去官网下载FreeTDS:ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
tar -zxvf freetds-patched.tar.gz
# 找到对应的文件夹,我的是 /root/freetds-1.1.12
cd freetds-1.1.12
# 根据php的路径所在填写,宝塔面板的php路径在 www/server下
./configure --prefix=/www/server/freetds --with-tdsver=7.3 --enable-msdblib
make && make install

安装成功会看到以下信息

(图1)


2、配置FreeTDS

cd ../echo "/www/server/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf
ldconfig

3、验证FreeTDS版本

验证不能省略,如验证不通过,后续操作纯属浪费时间
查看版本信息

/www/server/freetds/bin/tsql -C

(图2)

测试能否可连接数据库

/www/server/freetds/bin/tsql -H 数据库服务器IP  -p 端口号 -U 用户名 -P 密码

连接成功后来个简单的查询看是否执行

(图3)


4、增加PHP扩展mssql

cd /www/server/php/56/src/ext/mssql
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-mssql=/www/server/freetds/
make && make install

安装完成如下图:

(图4)


5、增加PHP扩展pdo的pdo_dblib

cd /www/server/php/56/src/ext/pdo_dblib/
/www/server/php/56/bin/phpize
./configure --with-php-config=/www/server/php/56/bin/php-config --with-pdo-dblib=/www/server/freetds/
make && make install

6、在php.ini配置文件中配置.so

找到php.ini文件,加入以下代码

extension = "mssql.so"
extension ="pdo_dblib.so"

7、连接sqlserver

下方是PDO连接sqlserver的方法

<?php
header("Content-Type: text/html;charset=utf-8");
class mssql{
    private $host;
    private $port;
    private $username;
    private $password;
    private $database;
    private $handle;
    private function __construct (Array $config){
        $this -> host = $config['host'];
        $this -> port = $config['port'];
        $this -> username = $config['username'];
        $this -> password = $config['password'];
        $this -> database = $config['database'];
        $this -> init();
    }
    private function init() {
        $dsn = 'dblib:host='.$this -> host.':'. $this -> port .';dbname='.$this->database;
        $this -> handle = new PDO ($dsn,$this -> username,$this -> password);
    }
    public static function GetInstance(array $config = null) {
        if (null == $config) {
            return NULL;
        }
        static $db = null;
        if (null == $db) {
            $c = __CLASS__;
            $db = new $c($config);
        };
        return $db -> handle;
    }
}

$config = array(
    'host' => 'IP地址',
    'port' => '端口号',
    'database' => '数据库名称',
    'username' => '用户名',
    'password' => '密码'
);
$mssql = mssql::GetInstance($config);
$result = $mssql->query("SELECT * FROM Admin where Name='ttttest'");
$list = $result->fetch();
var_dump($list);die;
?>


1、本站目前拥有近 1000+ 精品收费资源,现在加入VIP会员即可全部下载。
2、本资源部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
SEA模板网 » 宝塔 php5.6/Nginx连接SqlServer数据库

发表评论

加入本站VIP会员订阅计划,海量资源免费查看

目前为止共有 3654 位优秀的VIP会员加入! 立刻加入VIP会员