本文介绍: php 安装sql server驱动及扩展

作者使用的环境:centos7 ,php7.4

1. 加入微软的源

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

2. 安装驱动

yum install msodbcsql mssql-tools unixODBC-devel

 注意以上两个驱动安装成功后,当前是支持php7以上的版本

3. 安装扩展

    此处提供两种安装扩展的方式:pecl 和原包编译

    3.1 pecl          

          sudo pecl install pdo_sqlsrv         

          如果使用第一种方式,可以跳过3.2原包编译部分,直接阅读3.3

          sudo pecl install sqlsrv 

    3.2 原包编译

          3.2.1 下载pdo_sqlsrv扩展包         

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

       这里下载的sqlsrv版本为5.8.0,如需其他版本自行前往查看:http://pecl.php.net/package/pdo_sqlsrv

        3.2.2 【解压并进入目录】这里两个步骤:1. 进行解压扩展包  2.并进入扩展包目录

         tar -zxvf pdo_sqlsrv-5.8.0.tgz
         cd pdo_sqlsrv-5.8.0 

        3.2.3 【执行命令安装】

         1. phpize

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

         3. make && make install

         phpize和php-config 路径,根据自己的环境替换实际路径。

         根据提示,将编译完成的so文件拷贝到指定路径。

  3.3   加入扩展引用         

   echo “extension = pdo_sqlsrv.so” >>/etc/php.ini
   到这里安装的流程就搞定啦,然后重启PHP,检查扩展是否安装成功

   php -m|grep -i sqlsrvc
   出现 pdo_sqlsrv 表示安装成功。

3.4 遇到的问题         

  作者在安装过程,遇到以下问题: 

PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv.so' (tried:
/usr/lib64/php/modules/pdo_sqlsrv.so (/usr/lib64/php/modules/pdo_sqlsrv.so: cannot open shared object file:
No such file or directory), /usr/lib64/php/modules/pdo_sqlsrv.so.so (/usr/lib64/php/modules/pdo_sqlsrv.so.so:
undefined symbol: php_pdo_register_driver)) in Unknown on line 0

 解决方案:

extension=pdo.so
extension=pdo_sqlsrv.so //放到pdo后面。

在查找问题的过程中,有些文章提到swool扩展也有类似的问题,解决方案如下(未验证,有时间的小伙伴可以验证一下):

extension=sockets.so
extension=swoole.so //放到pdo后面

原文地址:https://blog.csdn.net/gaozhigang/article/details/128819984

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_50651.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注