centOs7+phpstudy pdo_sqlsrv扩展流程及问题

centOs7+phpstudy pdo_sqlsrv扩展流程及问题

问题描述:

尝试的扩展流程如下:

1.加入微软的源

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

2.防止冲突先卸载原有版本(可选)

yum remove unixODBC unixODBC-utf16 unixODBC-utf16-devel

3.安装centOs针对mssql的执行环境

yum install msodbcsql mssql-tools unixODBC-devel

yum -y install autoconf

yum install glibc-headers

yum -y install gcc gcc-c++ kernel-devel

yum install centos-release-scl && yum install devtoolset-7 && scl enable devtoolset-7 bash

4.下载安装包

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

5.php扩展,编译配置,编译,安装

/usr/local/phpstudy/soft/php/php-7.7.21/bin/phpize && ./configure --with-php-config=/usr/local/phpstudy/soft/php/php-7.7.21/bin/php-config && make && make install

遇到问题

php -m 报如下错误

​HP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlsrv.so' (tried: /usr/local/phpstudy/soft/php/php-7.2.21/lib/php/extensions/no-debug-non-zts-20170718/pdo_sqlsrv.so (libodbc.so.2: cannot open shared object file: No such file or directory), /usr/local/phpstudy/soft/php/php-7.2.21/lib/php/extensions/no-debug-non-zts-20170718/pdo_sqlsrv.so.so (/usr/local/phpstudy/soft/php/php-7.2.21/lib/php/extensions/no-debug-non-zts-20170718/pdo_sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

看了很多帖子,都未解决,説是php.ini中extension=pdo.so应该放在extension=pdo_sqlsrv.so前,但phpstudy中未见pdo.so的扩展,百试不得其解,初次用centOs7+phpstudy,希望有高手指点一二,不胜感激。

1.首先确定出错提示的目录里有pdo_sqlsrv.so 这个文件。

2.去php.ini配置文件里把 extension=pdo_sqlsrv.so 改为绝对路径

3.上面两部没问题的话 ,看看pdo_sqlsrv.so 存放的目录 是否有读写的权限