centos 环境下安装 php扩展pdo_sqlsrv

一. 加入微软的源

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

二 .安装驱动(三个都要装上,缺一不可)

   yum install msodbcsql mssql-tools unixODBC-devel

三. 下载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

五 . 执行命令

 /usr/bin/phpize 

./configure  (友情提醒:这里可能会有报错,需要安装 gcc、gcc-c++,使用yum install 即可)

六. 编译安装

 make && make install

七.更新php.ini

 grep "sqlsrv.so" /etc/php.ini || echo "extension=pdo_sqlsrv.so" >> /etc/php.ini

八.重启php

 如果提示 : /usr/lib64/php/modules/pdo_sqlsrv.so: undefined symbol: php_pdo_register_driver 错误

 需要将extension=pdo.so 写在 extension=pdo_sqlsrv.so 之前

 会遇到报错(由于pdo_sqlsrv 需要pdo.so)

 Module 'PDO' already loaded in Unknown on line 0

 这是因为php默认已经将pdo.so引入了,但是是在php.ini之后加载的,所以会报错。

 找到/etc/php.d/pdo.ini  将里面的extension=pdo.so 移动到php.ini中extension=pdo_sqlsrv.so前面即可

 

以上是我在安装这个扩展中踩过的所有坑,希望对大家有所帮助。

你可能感兴趣的:(php)