SQLServer实际上是mssql,想要使用thinkphp的Db对象操作数据库前必须要在服务器上安装对应的扩展。
宝塔面板的PHP安装路径为/www/server/php/ 且支持多个PHP版本共存,所以安装PHP扩展的方法与网上那些示例略有不同。
下面是 PHP7.2 安装 pdo_sqlsrv5.6.0 扩展的过程。( pdo_sqlsrv 扩展目前最新的版本可以通过此网址查看 http://pecl.php.net/package/pdo_sqlsrv)
安装扩展
#加入微软的源
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
#安装驱动
yum install -y msodbcsql mssql-tools unixODBC-devel
#下载pdo_sqlsrv扩展包
wget http://pecl.php.net/package/pdo_sqlsrv wget http://pecl.php.net/get/pdo_sqlsrv-5.6.0.tgz
tar -zxvf pdo_sqlsrv-5.6.0.tgz
cd pdo_sqlsrv-5.6.0
#使用对应php版本的phpize
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
#编译
make && make install
#加入扩展
echo "extension = pdo_sqlsrv.so" >> /www/server/php/72/etc/php.ini
#重启php7.2
/etc/init.d/php-fpm-72 reload
#检查扩展是否安装成功
/www/server/php/72/bin/php -m|grep -i sqlsrv
ThinkPHP5.0使用Db对接SQLServer数据库
public function test()
{
$sql='select * from user';
$mssql = Db::connect([
// 数据库类型
'type' => 'sqlsrv',
// 服务器地址
'hostname' => 'IP/域名',
// 数据库名
'database' => 'database1',
// 数据库用户名
'username' => 'test',
// 数据库密码
'password' => 'testtest!',
// 数据库连接端口
'hostport' => '3306',
// 数据库编码默认采用utf8
'charset' => 'utf8',
]);
$result = $mssql->query($sql);
dump($result);
}
参考链接: