You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级AlmaLinux后PHP 7.2无法加载pdo_odbc.so问题求助

解决PHP 7.2加载pdo_odbc.so失败的问题

问题背景

服务器升级至AlmaLinux v8.9.0后,切换到PHP 7.2时出现启动报错:

PHP Startup: Unable to load dynamic library 'pdo_odbc.so' (tried: /opt/cpanel/ea-php72/root/usr/lib64/php/modules/pdo_odbc.so (/lib64/libltdl.so.7: file too short), /opt/cpanel/ea-php72/root/usr/lib64/php/modules/pdo_odbc.so.so (/opt/cpanel/ea-php72/root/usr/lib64/php/modules/pdo_odbc.so.so: cannot open shared object file: No such file or directory))

已尝试yum provides */libodbc.so.2和yum reinstall libodbc.so.2,问题未解决。

修复步骤

1. 修复损坏的libltdl.so.7文件

报错提示/lib64/libltdl.so.7: file too short,说明该系统库文件已损坏,需重新安装所属包:

# 查找libltdl.so.7对应的系统包
yum provides */libltdl.so.7
# 重新安装该包(通常为libtool-ltdl)
yum reinstall libtool-ltdl

2. 重装PHP 7.2的pdo_odbc扩展

修复系统库后,重新安装对应PHP版本的扩展:

# 针对cpanel环境,执行以下命令
yum reinstall ea-php72-php-pdo_odbc

3. 验证扩展加载状态

执行命令检查PHP是否能正常加载pdo_odbc:

/opt/cpanel/ea-php72/root/usr/bin/php -m | grep pdo_odbc

若输出pdo_odbc,则说明扩展加载成功。

4. 重启服务

根据网站运行环境,重启对应服务:

# 重启Apache
systemctl restart httpd
# 或重启PHP-FPM(若使用该模式)
systemctl restart ea-php72-php-fpm

内容的提问来源于stack exchange,提问作者ahmed saad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:33:13