根据php版本到 PECL网站 下载对应的扩展
cd /usr/local/src wget https://pecl.php.net/get/pdo_sqlsrv-5.10.1.tgz
解压
tar -zxvf pdo_sqlsrv-5.6.1.tgz
进入解压后的目录执行phpize,注:需要使用对应php版本的phpize
/www/wdlinux/phps/71/bin/phpize
执行configure,注:指定对应版本
./configure --with-php-config=/www/wdlinux/phps/71/bin/php-config
编译
make && make install
报错解决办法
问题1unrecognized command line option “-std=c++11”
解决办法:gcc版本太低,通过 gcc 下载新版本编译安装
问题2fatal error: sql.h: No such file or directory
解决办法:需要安装
unixODBC-devel
依赖yum install unixODBC-devel
修改php.ini配置文件开启扩展
/www/wdlinux/phps/71/bin/php --ini ## 查看配置文件未知 vim /www/wdlinux/phps/71/etc/php.ini ## 添加如下配置 [pdo_sqlsrv] extension_dir =/www/wdlinux/phps/71/lib/php/extensions/no-debug-non-zts-20160303 extension=pdo_sqlsrv.so
重启PHP-FPM
找到master进程ps aux | grep "php-fpm: master"
root 8282 0.0 0.0 251784 7396 ? Ss Aug19 4:27 php-fpm: master process (/www/wdlinux/phps/71/etc/php-fpm.conf)
执行重启命令
kill -USR2 8282
安装扩展后仍然报错以及解决办法
1.ODBC驱动问题This extension requires the Microsoft ODBC Driver for SQL Server to communicate with SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x64: https://go.microsoft.com/fwlink/?LinkId=163712
解决办法:安装ODBC驱动,因为centos版本是6.10很老,所以使用yum有很多依赖问题,使用rpm包安装就没有问题, ODBC Driver下载地址
wget https://packages.microsoft.com/rhel/6/prod/msodbcsql17-17.0.1.1-1.x86_64.rpm rpm -iv msodbcsql17-17.0.1.1-1.x86_64.rpm
版权属于:
basil
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权