php centos选择sqlserver的驱动和扩展选择版本的说明

news2025/1/20 3:47:34

2023年2月23日13:41:48

首先是php php扩展 驱动 数据库的关系
image

官方文档说明:
https://learn.microsoft.com/zh-cn/sql/connect/php/step-1-configure-development-environment-for-php-development?view=sql-server-2017

https://learn.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017

PHP和odbc的关系

image

PHP和PHP扩展的关系

image

操作系统和odbc的关系

image

PHP扩展 pdo_sqlsrv和sqlsrv的版本,查看Changelog确定PHP和PHP扩展 哪个版本合适

image

举个例子:

php版本是7.2 系统是centos7.9
数据库 SQL Server on Linux 2017

先确定php扩展的版本在 https://pecl.php.net/package-changelog.php?package=pdo_sqlsrv&release=5.11.0beta1
查看可以使用版本大概是5.2到5.8

https://learn.microsoft.com/zh-cn/sql/connect/php/system-requirements-for-the-php-sql-driver?view=sql-server-2017
odbc驱动 确定为 ODBC Driver 17

centos7.x也支持 17.x的odbc驱动

那么安装就可以选择 pdo_sqlsrv sqlsrv 为5.6或者5.8 驱动为ODBC Driver 17,剩下安装就简单了

./pecl install sqlsrv-5.6.0 --with-php-config=/www/server/php/72/bin/php-config
./pecl install pdo_sqlsrv-5.6.0 --with-php-config=/www/server/php/72/bin/php-config
sudo su

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#RHEL 7 and Oracle Linux 7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 8 and Oracle Linux 8
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo

#RHEL 9
curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo

exit
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install -y msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install -y mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install -y unixODBC-devel

注意:使用宝塔这种类似的自动化的安装,可能会造成问题,建议自己编译安装,因为宝塔会造成多版本的glibc等底层包,可能会出现问题,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PXI/PXIe规格1553B总线测试模块

面向GJB5186测试专门开发的1553B总线适配卡,支持4Mbps和1Mbps总线速率。该产品提供2个双冗余1553B通道、1个测试专用通道、2个线缆测试通道。新一代的TM53x板卡除了支持耦合方式可编程、总线信号幅值可编程、共模电压注入、总线信号波形采集等功能外,又新…

OpenAI GPT-4o - 介绍

本文翻译整理自: Hello GPT-4o https://openai.com/index/hello-gpt-4o/ 文章目录 一、关于 GPT-4o二、模型能力三、能力探索四、模型评估1、文本评价2、音频 ASR 性能3、音频翻译性能4、M3Exam 零样本结果5、视觉理解评估6、语言 tokenization 六、模型安全性和局限…

信号和槽的使用

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、连接信号和槽 二、查看内置信号和槽 三、通过 Qt Creator 生成信号槽代码 一、连接信号和槽 …

十款开源数据集成工具

在大数据作业开发中,数据集成工具是非常重要的一个环节,一个好的数据集成系统从可用性、架构扩展性、底层引擎选型、数据源支持能力等方面都需要一定的考量,在本文中汇总了十款开源的数据集成系统,作者本人在过往的开发过程中&…

IPSSL证书:为特定IP地址通信数据保驾护航

IPSSL证书,顾名思义,是专为特定IP地址设计的SSL证书。它不仅继承了传统SSL证书验证网站身份、加密数据传输的基本功能,还特别针对通过固定IP地址进行通信的场景提供了强化的安全保障。在IP地址直接绑定SSL证书的模式下,它能够确保…

全国大学生数学建模竞赛【集训营E题】丨 近5年赛题实现,模拟参赛体验

在这个数据驱动、模型塑造未来的时代,数学建模不仅是学术研究的基石,更是解决复杂实际问题的金钥匙。 数学建模竞赛E题集训营技能强化要点: 1、基于Python的数学建模基础巩固 2、近5年E题赛题实现 3、模拟参赛体验与作品…

【Docker系列】Linux部署Docker Compose

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

软件测试之【软件测试初级工程师技能点全解】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 🔥前言🚀初级测试工程师技能点👉测试理论基…

2024精选7个wordpress模板

通用多用途wordpress模板 中国红WordPress模板,适合服务行业企业建站的通用多用途wordpress模板。 WordPress是一款使用PHP语言开发的开源内容管理系统(CMS),最初设计用于个人博客,但随着时间的发展,它已经演化成为一个功能强大的…

羊大师:成长必备羊大师与健康同行

羊大师:成长必备羊大师与健康同行 在成长的道路上,我们不仅需要知识的积累,更需要健康的体魄作为支撑。羊大师发现在这个过程中,羊大师以其专业的知识和经验,为我们提供了一条与健康同行的成长之路。 羊大师&#xff…

浏览器不兼容 replaceAll 方法问题解决

问题 在一些较旧版本的浏览器中可能会出现 replaceAll 方法不兼容,提示replaceAll 方法 undefined 的问题。浏览器版本兼容情况如下图所示: 解决 可以通过 replace 正则表达式 的方法来代替 replaceAll 方法: let str "我是一段文本…

Redission分布式锁 - 抢课系统

使用Redission分布式锁与Kafka消息队列,实现学生抢课系统(高并发秒杀场景)。 目录 一、思路1.为频繁访问的信息设置缓存(1)登陆(2)课程任务信息(3)用户抢课记录 2.消息队…

文字转成活码的3步操作,手机扫码即可查看文本信息

现在经常会通过二维码的方式来传递通知的文字信息,只需要分享文字生成二维码的图片到微信群或者印刷出来,其他人就可以通过扫码来查看文字内容,有利于其他人更快速的获取信息。 目前文本静态码无法通过微信来扫码展示,那么想要解…

【unity小技巧】减少Unity中的构建打包大小

文章目录 正常默认打包查看编辑器打包日志压缩图片压缩网格模型压缩贴图压缩音频文件只打64位包最终大小完结 正常默认打包 这里以安卓为例。先什么都不干,直接打包安卓apk,查看包大小 查看编辑器打包日志 搜索build report构建报告。构建报告我们应该…

Nat Plants | 植物抽核单细胞!多组学探究大豆根瘤成熟过程

发表时间:2023-04 发表期刊:Nature Plants 影响因子:17.352 DOI:10.1038/s41477-023-01387-z 研究背景 根瘤菌是亲和互作寄主植物,感染宿主并在根部形成共生器官根瘤,具有固氮…

新手做抖店一般多久出单?想尽快出单需要做什么准备工作?

大家好,我是电商糖果 有不少刚开店的朋友,喜欢搜索,咨询多久出单的问题。 根据糖果做店四年多的经验来说,新手运营新店,只要操作思路正确,一般是一周左右就会出单,三到四周左右,店…

如何部署TDE透明加密实现数据库免改造加密存储

安当TDE(透明数据加密)实现数据库加密的步骤主要包括以下几个部分: 准备安装环境:确保操作系统和数据库环境已经安装并配置好,同时确保具有足够的权限来安装和配置TDE透明加密组件。下载安装包:从官方网站…

flutter开发实战-本地SQLite数据存储

flutter开发实战-本地SQLite数据库存储 正在编写一个需要持久化且查询大量本地设备数据的 app,可考虑采用数据库。相比于其他本地持久化方案来说,数据库能够提供更为迅速的插入、更新、查询功能。这里需要用到sqflite package 来使用 SQLite 数据库 预…

如何快速生成接口文档(swagger和knife4j两种方式及其使用)

如何快速生成接口文档(swagger和knife4j两种方式) 1、什么是接口文档? 在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根…

使用PyQt5设计订单查询界面—了解界面布局2

想要实现的界面效果 增加Tab Widge的页签 在MainWindow窗口中选中水平布局,将一个Label控件和一个默认自带两个页签的Tab Widget控件放到水平布局中,Tab Widget控件右键选择“插入页”再选择“在当前页之后”增加页签。 为每一个Tab页签界面都选择“栅格…