CentOS7.6 Liunx PHP 连接 mssqlserver 安装pdo_sqlsrv扩展

加入微软的源

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

如果之前安装过需要先卸载,建议用纯净的环境安装。

yum remove unixODBC

安装驱动 三个一次性安装,期间需要输入大写的YES回车确认

yum install msodbcsql mssql-tools unixODBC-devel

下载pdo_sqlsrv扩展包 http://pecl.php.net/package/pdo_sqlsrv

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

解压文件,并进入解压后的目录。

tar -zxvf pdo_sqlsrv-5.3.0.tgz
cd pdo_sqlsrv-5.3.0

使用对应php版本的phpize,其中72代表的是7.2版本的PHP目录,我这里安装环境以宝塔为例,其他环境有可能PHP的安装目录会有所不同,根据自己需要调整。

/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config

make test 这句可以忽略,执行完上面一句后,会提示别忘了执行make test,是检查是否有错误的功能。

编译安装

make && make install

加入扩展文件到php.ini,这里的PHP目录和版本同上面一样,根据自己需要调整。

echo "extension = pdo_sqlsrv.so" >> /www/server/php/72/etc/php.ini

刷新PHP配置

/etc/init.d/php-fpm-72 reload

检查扩展是否安装成功,安装成功会显示 pdo_sqlsrv

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

PHP测试代码

$dbms = 'sqlsrv';
$host = 103.91.208.128,1433;
$user = 'sa';
$password = 'password';
$dbname = 'database';
$dsn = "$dbms:Server=$host;Database=$dbname";
$DB = new PDO($dsn, $user, $password);
var_dump($DB);
返回Object对象,代表连接成功。

 

要点:

本文安装环境为CentOS7.6,安装环境为宝塔面板,PHP版本为7.2,是全新的系统加宝塔环境,安装完宝塔后安装Mysql5.6,PHP7.2,Ngix1.16.0之后就按照上面的步骤进行安装即可。

期间make test 的时候提示需要打开proc_open(),是php.ini 里面禁用的一个函数,到php.ini里面删除就可以了。

都正常之后,phpinfo()里面会显示pdo_sqlsrv。连接SQLserver 2008 r2测试正常。

pdo_sqlsrv5.3.0官方说明是支持2008r2及以上数据库,以下的没有测试。

 

 

相关网站记录:

本贴参照的地址,感谢安拓提供的说明。

https://www.anttoweb.com/kb/bt-pdo_sqlsrv/

 

下面两个是微软的github地址和pecl官方地址

https://github.com/Microsoft/msphpsql

http://pecl.php.net/package/pdo_sqlsrv

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿古斯巴鲁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值