安装PHP的ibm_db2-2.1.5扩展时报ltmain.sh、libtool缺失错误
IBM_DB2连接器编译报错解决方案
错误根因
- 缺少
libtool依赖,phpize执行时无法生成ltmain.sh核心编译文件 - pecl源通道未更新,源码包解压异常导致临时目录文件缺失
- PHP开发包组件不全,缺少扩展编译所需的配套工具
- 编译过程中DB2安装路径自动识别出现偏差,和实际输入的路径不一致
修复步骤
- 安装基础编译依赖
# Debian/Ubuntu 系列操作系统执行 apt update apt install -y php5-dev libtool make gcc re2c # RHEL/CentOS 系列操作系统执行 yum install -y php-devel libtool make gcc re2c
- 清理pecl旧缓存并更新通道
pecl channel-update pecl.php.net pecl clear-cache rm -rf /tmp/pear/temp/*
- 指定DB2路径执行安装
安装时主动指定DB2驱动路径,避免自动识别出错:
IBM_DB2_HOME=/opt/ibm/dsdriver pecl install ibm_db2
- 若依然出现临时目录为空问题,改用手动源码编译方式
# 将下载好的ibm_db2对应版本源码包上传到/usr/local/src目录后执行 cd /usr/local/src tar zxvf ibm_db2-2.1.5.tgz cd ibm_db2-2.1.5 phpize ./configure --with-IBM_DB2=/opt/ibm/dsdriver make && make install
- 启用扩展
编译成功后在php.ini配置文件中添加以下配置:
extension=ibm_db2.so
保存后重启PHP服务,执行以下命令验证扩展是否正常加载:
php -m | grep ibm_db2
内容的提问来源于stack exchange,提问作者DK Germany
相关产品推荐
相关产品推荐

