在 CentOS 上 PHP 不支持 curl,通常是 curl 扩展没安装或没启用。下面按常见情况给你一步步排查和解决。
php -m | grep curl
或
php -i | grep -i curl
如果没有任何输出,说明 curl 扩展未启用或未安装。
yum install php-curl -y
安装完成后重启服务:
# PHP-FPM
systemctl restart php-fpm
# Apache
systemctl restart httpd
yum install php-pecl-curl -y
# 或(按版本)
yum install php74-php-curl -y
然后:
systemctl restart php74-php-fpm
编辑 php.ini(位置可能不同):
php --ini
确保没有这一行被注释掉(或存在):
extension=curl
如果有 #,去掉 #:
extension=curl
重启 PHP。
如果你是 源码编译 PHP,需要重新编译并加上:
--with-curl
示例:
./configure --with-curl
make
make install
curl.so: cannot open shared object说明扩展文件不存在或路径不对:
find / -name curl.so
然后在 php.ini 中指定:
extension=/usr/lib64/php/modules/curl.so
Call to undefined function curl_init()99% 是 curl 扩展没加载,按上面步骤检查。
php-curlphp -m | grep curl 有输出extension=curl 已启用如果你愿意,可以告诉我:
我可以给你精确到命令级别的解决方案。