是鲲鹏的CPU,所以安arm的。
Oracle客户端下载地址:
https://www.oracle.com/database/technologies/instant-client/linux-arm-aarch64-downloads.html
第一步:通过zip安装client
# 创建基础目录
mkdir -p /usr/local/oracle
# 解压Basic包(用你实际的文件名)
unzip /root/instantclient-basic-linux.arm64-19.30.0.0.0dbru.zip -d /usr/local/oracle/
# 解压SDK包(用你实际的文件名)
unzip /root/instantclient-sdk-linux.arm64-19.30.0.0.0dbru.zip -d /usr/local/oracle/
# 查看解压后的目录名(关键:19.30版本解压后是 instantclient_19_30)
ls /usr/local/oracle/
# 应该能看到 instantclient_19_30 目录
第二步:配置软连接
# 进入解压后的目录
cd /usr/local/oracle/instantclient_19_30
# 创建统一软链接(避免版本号变动)
ln -s /usr/local/oracle/instantclient_19_30 /usr/local/oracle/instantclient
# 关键:验证oci.h是否存在(这一步必须成功)
ls /usr/local/oracle/instantclient/sdk/include/oci.h
第三步:配置环境变量
vi /etc/profile
# Oracle Instant Client 环境变量
export ORACLE_HOME=/usr/local/oracle/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
source /etc/profile
echo "/usr/local/oracle/instantclient" > /etc/ld.so.conf.d/oracle.conf
# 刷新系统库缓存
ldconfig
第四步:编译 oci8 扩展
# 进入oci8扩展目录(替换为你的PHP源码路径)
cd /usr/local/src/php-8.3.30/ext/oci8
# 清理旧编译文件
make clean
/usr/local/php8.3/bin/phpize --clean
# 重新生成配置
/usr/local/php8.3/bin/phpize
# 配置编译参数(指定19.30版本+ARM64架构)
./configure \
--with-oci8=instantclient,/usr/local/oracle/instantclient \
--with-libdir=lib64 \
--with-php-config=/usr/local/php8.3/bin/php-config
# 编译安装(-j4加速)
make -j4 && make install
第五步:编译 pdo_oci 扩展
cd /usr/local/src/php-8.3.30/ext/pdo_oci
# 清理+重新配置
make clean
/usr/local/php8.3/bin/phpize --clean
/usr/local/php8.3/bin/phpize
# 配置(版本号写19.30)
./configure \
--with-pdo-oci=instantclient,/usr/local/oracle/instantclient,19.30 \
--with-libdir=lib64 \
--with-php-config=/usr/local/php8.3/bin/php-config
# 编译安装
make -j4 && make install
验证:
# 检查扩展文件是否生成
ls /usr/local/php8.3/lib/php/extensions/no-debug-non-zts-20230831/ | grep oci
# 应输出 oci8.so 和 pdo_oci.so
# 启用扩展并验证
echo "extension=oci8.so" >> /usr/local/php8.3/etc/php.ini
echo "extension=pdo_oci.so" >> /usr/local/php8.3/etc/php.ini
# 查看扩展是否加载
/usr/local/php8.3/bin/php -m | grep oci
评论0
暂时没有评论