首页 > 数据库 >php centos选择sqlserver的驱动和扩展选择版本的说明

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

时间:2024-05-12 22:43:43浏览次数:20  
标签:centos sqlserver sqlsrv yum https sql php config

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等底层包,可能会出现问题,

标签:centos,sqlserver,sqlsrv,yum,https,sql,php,config
From: https://www.cnblogs.com/zx-admin/p/17147658.html

相关文章

  • laravel,webman,hyperf,thinkphp推荐哪一个?
    2024年5月11日14:11:45laravelwebmanhyperfthinkphp流行程度国内流行,欧洲特别是法国,美国,日本很多使用主要在国内流行,少量国外使用主要国内流行,少量国外使用国内流行,国外俄罗斯有使用性能fpm多进程模式,性能一般,偏差同步阻塞多进程模式,性能很好web第一梯队协......
  • CTFHUB-PHP-bypass_disable_functions
    很多可以蚁剑插件自己做,因为本来就是蚁剑实验室的靶场,这里有些也就用手工方法,方便掌握原理。LD_PRELOAD看题目一眼环境变量劫持。蚁剑可以连,但是终端命令全被ban了。访问/?ant=phpinfo();查看禁用函数:pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,......
  • PHP反序列化(Pikachu)
    原理php程序为了保存和转储对象,提供了序列化的方法。php序列化是为了在程序运行的过程中对对象进行转储而产生的。序列化可以将对象转换成字符串,但仅保留对象里的成员变量,不保留函数方法。php序列化的函数为serialize,可以将对象中的成员变量转换成字符串。反序列化的函数为unse......
  • PHP-FPM(FastCGI Process Manager)处理请求的流程
    PHP-FPM(FastCGIProcessManager)处理请求的流程大致遵循以下步骤,其中您提到的几个关键函数和阶段是PHP-FPM生命周期中的重要组成部分。下面是对您提到步骤的解释及它们如何在PHP-FPM中执行的概述:1.**php_module_startup**:-这个阶段发生在PHP-FPM服务启动时,而非每次请求处理......
  • 服务器挂载磁盘!!!centos7要重启服务器才能pvcreate成功
    分区的类型代码`8e`表示LinuxLVM(LogicalVolumeManagement)分区。如果您想将`/dev/sda3`分区用作LVM的一部分,那么它的分区类型应该是`8e`而不是通用的`83`Linux分区类型。根据您之前提供的`fdisk-l`输出,`/dev/sda3`当前是`83`类型,这意味着它被识别为一个......
  • centos7.9编译安装greenplum6.20
    一、下载安装包上传到服务器的/opt/soft下https://github.com/greenplum-db/gpdb/archive/refs/tags/6.20.0.tar.gz二、创建用户useraddgpadmin#检查家目录是否创建passwdgpadmingpadmingpadmin三、安装依赖GreenplumDatabase编译和运行依赖于各种系统库和Python......
  • centos7下redis集群部署
    1、环境准备安装redis所需依赖环境#在线:yum-yinstallepel-releasegcc #离线:#下载yuminstall--downloadonly--downloaddir=/home/filesepel-releasegcc#将依赖包放到离线服务器,进入目录cd/home/files#执行安装rpm-Uvh./*.rpm--node......
  • CentOS上搭建SFTP
    CentOS上搭建SFTP 在CentOS上安装SFTP服务通常是通过安装OpenSSH来实现的,因为OpenSSH默认提供了SFTP功能。以下是在CentOS上安装SFTP的步骤: 一、安装OpenSSH服务器:sudoyuminstallopenssh-server启动SSH服务:sudosystemctlstartsshd确保SSH服务随系统启动而启动:sud......
  • 虚拟机安装 centos静态IP配置
    虚拟机安装centos后,配置静态ipcd/etc/sysconfig/network-scriptssudovimifcfg-enp0s8编辑配置文件OXY_METHOD=noneBROWSER_ONLY=noB00TPROTO=dhcpDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV......
  • CentOs上安装minio
    MINIO安装一、下载二进制文件wgethttps://dl.minio.org.cn/server/minio/release/linux-amd64/minio 二、授权,并移动到指定目录chmod+xminiosudomvminio/usr/local/bin/ 二、创建服务文件/usr/lib/systemd/system/minio.service 内容如下: [Unit]Descripti......