tp5 php 宝塔安装pdo_sqlsrv扩展,连接 Sqlserver

linux Centos7.7

os.jpg

PHP7.4

php.jpg

宝塔7.5.2

bt0.jpg

【加入微软源】

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo

其他版本对应自行到官网下载

不同版本的对应,可以参考这里:

https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-drivers-for-sql-server-support-matrix?view=sql-server-ver15#php-version-support

【安装驱动】

yum install msodbcsql mssql-tools unixODBC-devel

驱动目前支持PHP7版本
【下载pdo_sqlsrv扩展包】

wget http://pecl.php.net/get/pdo_sqlsrv-5.8.1.tgz

更多版本
特别说明:如果在第五步安装时出现报错,请根据更换版本尝试,一般最新版本可行。

【解压并进入目录】

tar -zxvf pdo_sqlsrv-5.8.1.tgz
cd pdo_sqlsrv-5.8.1

【执行安装命令】

/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install

360截图20220825155454069.jpg

当前为宝塔,路径如下,使用对应php版本的phpize
74代表的是php的版本号,如果你是7.3的。可能是目录就是73

【非宝塔环境,按如下操作:】

/usr/local/php/bin/phpize 
./configure --with-php-config=/usr/local/php/bin/php-config

以上仅为通用环境下安装sqlsrv扩展,宝塔环境安装sqlsrv扩展请略过此处按步骤来操作

【配置php.ini】

extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_sqlsrv.so

【检查扩展是否安装成功】

/www/server/php/74/bin/php -m|grep -i  sqlsrv

或者直接去宝塔面板 - 软件管理 - PHP7.4 - phpinfo 查看。

dd255488.jpg

测试代码

function mssql_user($username){
	$host="远程服务器IP,MSSQL端口";
	$dbname="数据库名称";
	$user="数据库用户名";
	$pass="数据库密码";
	try {
    	$dbh = new PDO("sqlsrv:Server=$host;Database=$dbname", $user, $pass);
	} catch(PDOException $e) {
    	echo $e->getMessage();
    	exit;
	}
	unset($dbh); unset($stmt);
}

如果是TP框架PDO需加斜杠

$sql  = "SELECT * FROM XXX";
$Pdo  = new \PDO('sqlsrv:Server=192.168.1.123;Database=master', 'sa', '123456');
$res  = $Pdo->query($sql);
$list = $res->fetchAll();
有问题请联系作者QQ:4505399(备注:vb盒子)
打赏
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。