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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)