php编译安装oci8 pdo_oci扩展
系统环境:centos7.8 + php7.4 + thinkphp6 + oracle 11g
注意:使用独立下载的扩展容易引起部分错误信息,不建议使用。推荐使用对应php版本中的ext扩展直接编译安装。
【安装oracle客户端】
下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
登录后下载到/usr/local/src
:instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
解压:unzip instant...
注:sdk文件会解压到instantclient_11_2
目录中
创建软链(此步骤未测试其用途):ln -s libnnz11.so libnnz.so
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so
将解压后的目录复制到/usr/local/lib
目录下,并重命名为instantclient
:cp -r instantclient_11_2 /usr/local/lib/instantclient
【下载同版本php源码】wget https://www.php.net/distributions/php-7.4.24.tar.gz
tar -zxvf php-7.4.24.tar.gz
【安装oci8扩展】cd php-7.4.24/ext/oci8/
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config --with-oci8=shared,instantclient,/usr/local/lib/instantclient
make && make install
【安装pdo_oci】cd php-7.4.24/ext/pdo_oci/
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config --with-pdo-oci=instantclient,/usr/local/lib/instantclient
make && make install
添加到配置文件php.ini中:
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/oci8.so
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_oci.so
重载配置并查看phpinfo;
测试链接,参考文章: ThinkPHP6操作oracle数据库