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 存放的目录 是否有读写的权限