php oci8扩展安装的坑

下载instantclient 以及sdk

oracle官方下载地址,需登录
这里选择的版本是

instantclient-basic-linux.x64-12.1.0.2.0.zip
instantclient-sdk-linux.x64-12.1.0.2.0.zip

将basic解压, 然后将sdk解压移动到basic目录下, 假设basic目录是/opt/instantclient

编译安装

#安装oci扩展
cd /phpsrc/ext/oci
phpize
./configure --with-oci8="instantclient,/opt/instantclient"
make
make install
#安装pdo_oci驱动
cd /phpsrc/ext/pdo_oci
phpize
./configure  --with-pdo-oci="instantclient,/opt/instantclient,12.1"
make
make install

编译安装遇到的问题

  • 没有ORACLE_HOME环境变量
    解决方法: export ORACLE_HOME=/opt/instantclient
  • 无法找到 libclntsh.so
    解决方法: 将libclntsh.so.1 重命名为 libclntsh.so
  • 不支持的版本
    pdo_oci进行configure的时候12.1必须写正确
  • 安装成功,php -m 报错提示无法加载libaio等一些so文件
    使用ldd oci8.so命令查看发现一些文件not found
    解决方法:
    apt-get install -y libaio-dev
    echo "/opt/instantclient" >> /etc/ld.so.conf.d/oracle-instantclient.conf 
    && ldconfig
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容