php -i | grep 'extension_dir' 这段输出的是 extension_dir => /opt/cpanel/ea-php84/root/usr/lib64/php/modules => /opt/cpanel/ea-php84/root/usr/lib64/php/modules splite3.extention_dir => no value => no value
时间: 2025-09-04 10:12:03 AIGC 浏览: 6
你执行了:
```bash
php -i | grep 'extension_dir'
```
输出为:
```
extension_dir => /opt/cpanel/ea-php84/root/usr/lib64/php/modules => /opt/cpanel/ea-php84/root/usr/lib64/php/modules
splite3.extension_dir => no value => no value
```
这说明:
- **PHP 的扩展目录是 `/opt/cpanel/ea-php84/root/usr/lib64/php/modules`**
- `splite3.extension_dir` 是一个拼写错误,应该是 `sqlite3.extension_dir`,但这个设置目前没有生效。
---
## ✅ 你当前的目的是:
> **让 PHP 使用新版 libcurl(8.15.0)而不是旧版(7.61.1)**
我们来一步步确认并修复。
---
## 🔍 1. 查看 PHP 使用的是哪个 libcurl
执行:
```bash
ldd /opt/cpanel/ea-php84/root/usr/lib64/php/modules/curl.so | grep libcurl
```
输出可能是:
```
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f...)
```
这说明:
> **PHP 的 curl 扩展使用的是系统默认的 libcurl(旧版本)**
---
## ✅ 解决方案:强制 PHP 使用 `/usr/local/lib` 中的新版 libcurl
### ✅ 方法一:设置 `LD_LIBRARY_PATH`(临时)
```bash
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
```
然后重启 PHP-FPM:
```bash
/scripts/restartsrv_apache_php_fpm
```
再运行:
```bash
php -i | grep 'libcurl'
```
你应该看到:
```
libcurl version => 8.15.0
```
> ⚠️ 缺点:重启 shell 或服务器后失效。
---
### ✅ 方法二:永久设置动态库路径(推荐)
创建一个动态库配置文件:
```bash
echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf
```
更新动态库缓存:
```bash
ldconfig
```
验证是否生效:
```bash
ldconfig -p | grep libcurl
```
你应该看到:
```
libcurl.so.4 (libc6,x86-64) => /usr/local/lib/libcurl.so.4
```
然后重启 PHP-FPM:
```bash
/scripts/restartsrv_apache_php_fpm
```
再次验证:
```bash
php -i | grep 'libcurl'
```
输出应为:
```
libcurl version => 8.15.0
```
---
## ✅ 方法三:重新编译 PHP 的 curl 扩展(更彻底)
如果你使用的是 cPanel + EasyApache4,可以手动编译 curl 扩展,使用新版 libcurl。
### ✅ 步骤如下:
1. 安装 PHP 开发工具:
```bash
yum install ea-php84-php-devel
```
2. 下载 PHP 源码(与你当前 PHP 版本匹配):
```bash
cd /tmp
wget https://www.php.net/distributions/php-8.4.0.tar.gz
tar -zxvf php-8.4.0.tar.gz
cd php-8.4.0/ext/curl
```
3. 使用新版 libcurl 编译扩展:
```bash
/usr/local/bin/phpize
./configure --with-php-config=/opt/cpanel/ea-php84/root/usr/bin/php-config --with-curl=/usr/local
make
sudo make install
```
4. 修改 `php.ini` 加载新版扩展:
```bash
echo "extension=curl.so" > /opt/cpanel/ea-php84/root/etc/php.d/50-curl.ini
```
5. 重启 PHP-FPM:
```bash
/scripts/restartsrv_apache_php_fpm
```
6. 验证:
```bash
php -i | grep 'libcurl'
```
输出应为:
```
libcurl version => 8.15.0
```
---
## ✅ 总结流程图
| 步骤 | 操作 | 目的 |
|------|------|------|
| 1 | `ldd curl.so \| grep libcurl` | 查看 PHP 使用的 libcurl 路径 |
| 2 | 设置 `LD_LIBRARY_PATH` 或添加 `/etc/ld.so.conf.d` | 强制加载新版 libcurl |
| 3 | `ldconfig` | 更新动态库缓存 |
| 4 | 重启 PHP-FPM | 使更改生效 |
| 5 | `php -i \| grep 'libcurl'` | 验证是否成功 |
---
## ✅ 附加命令
| 命令 | 说明 |
|------|------|
| `php -v` | 查看当前 PHP 版本 |
| `php -m \| grep curl` | 查看 curl 扩展是否已加载 |
| `php -i \| grep 'extension_dir'` | 查看扩展目录 |
| `ls /opt/cpanel/ea-php84/root/usr/lib64/php/modules/curl.so` | 查看 curl 扩展是否存在 |
| `file /opt/cpanel/ea-php84/root/usr/lib64/php/modules/curl.so` | 查看 curl.so 是 32 位还是 64 位 |
---
##
阅读全文
相关推荐














