lamp + mssql环境部署之三:安装sql_server扩展

需要安装两个扩展 分别为pdo_sqlsrv 和 sqlsrv。

1.准备工作

如安装过odbc 需要卸载

yum remove unixODBC

安装扩展

yum install msodbcsql mssql-tools unixODBC-devel

2.安装pdo_sqlsrv 和 sqlsrv

因php版本为7.3.5 故选择安装pdo_sqlsrv版本为5.6.1.

其他版本的下载地址

wget下载

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

解压

tar -zxvf pdo_sqlsrv-5.6.1.tgz

进入目录

cd pdo_sqlsrv-5.6.1

执行phpize (根据自己php安装路径进行修改)

/usr/bin/phpize 

执行编译

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

编译报错:

解决办法:出现该情况是由于c++编译器的相关package没有安装,以root用户登陆,在终端上执行:

yum install gcc-c++

安装

make && make install

安装sqlsrv参考上述方法

下载地址为

wget http://pecl.php.net/get/sqlsrv-5.6.1.tgz

将sqlsrv扩展加入php.ini

extension = "pdo.so"
extension = "pdo_sqlsrv.so"
extension = "sqlsrv.so"

重启php-fpm即可,有以下两种方法:
方法一:

systemctl restart php-fpm #重启php-fpm
systemctl status php-fpm #查看php-fpm运行状态

方法二:
找到php-fpm 进程id,杀死进程,重新启动进程,依次执行以下命令

ps aux | grep php-fpm
kill -9 进程号
/etc/init.d/php-fpm start

测试连接sqlServer代码:

<?php
header("content-type:text/html;charset=gbk");  
$server = "localhost,1433";  //数据库服务器

$uid = "test";  //用户名

$pwd = "123";  //密码

$db = "test_db"; // 数据库名

$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db);

$conn =sqlsrv_connect($server,$connectionInfo);

if( $conn == false) {

echo "connection  Fail!"; 

die( var_dump( sqlsrv_errors(), true));

}else{

echo "connection Success!";

}

phpinfo();
 ?>

如安装之后连接sqlserver出现以下错误

SQLSTATE[IMSSP]: This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server.

解决办法:

  • 安装UnixODBC
yum install unixODBC unixODBC-devel
  • 查看odbc配置信息
odbc_config --version --longodbcversion --cflags --ulen --libs --odbcinstini --odbcini
  • 命令查看安装配置文件所在的位置
odbcinst -j   
  • 查看unixODBC版本
isql --version  
  • 安装ODBC Driver 17 for SQL Server
wget https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.3.1.1-1.x86_64.rpm
rpm -ivh msodbcsql17-17.3.1.1-1.x86_64.rpm
ll /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.3.so.1.1
  • 配置msql数据源,修改odbcdsn.ini
vim /etc/odbcdsn.ini 

[MSSQL-KQ]
Driver = ODBC Driver 17 for SQL Server
Description = Attendance SQL Server
Trace = No
Server = 10.128.6.6
Port = 1433
  • 加载odbcdsn
odbcinst -i -s -f /etc/odbcinst.ini -l
posted @   panbin_2006  阅读(364)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示