PHP中 “Fata error Call to undefined function curl_init()解决方法
January 25, 2018
本文主要讲述在Centos/RHEL linux系统下运行php时候遇到的错误 Fatal error: Call to undefined function curl_init() 的解决方法。 当你在配置完成一个LEMP(Linux,Nginx, MySQL, PHP)的web环境后,PHP在运行的时候有可能会在/var/log/nginx/error.log文件里看到下面的错误:
Fatal error: Call to undefined function curl_init()
根据错误的提示,我们可以基本判断curl扩展模块没有安装或者启用,所以接下里我们可以去执行下面的命令来检测php-curl 模块包是否安装。
Centos/RHEL 系统检测php-curl是否安装
执行下面的命令:
$ rpm -qa |grep php-curl
ubuntu 系统检测php-curl是否安装
执行下面的命令:
$ sudo dpkg -l |grep php-curl
如果没有安装,我们只需要安装或者开启curl module 扩展包。
Ubuntu下安装支持PHP的CURL扩展模块
执行下面的apt install 命令为php 7.x 安装curl 扩展模块:
$ sudo apt install php-curl
命令输出如下:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: java-common libappindicator1 libindicator7 使用'apt autoremove'来卸载它(它们)。 将会同时安装下列软件: php-common php7.0-common php7.0-curl 下列【新】软件包将被安装: php-common php-curl php7.0-common php7.0-curl 升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 223 个软件包未被升级。 需要下载 880 kB 的归档。 解压缩后会消耗 4,903 kB 的额外空间。 您希望继续执行吗? [Y/n] y 获取:1 http://mirrors.aliyun.com/ubuntu xenial-proposed/main amd64 php-common all 1:35ubuntu6.1 [10.8 kB] 获取:2 http://mirrors.aliyun.com/ubuntu xenial-proposed/main amd64 php7.0-common amd64 7.0.25-0ubuntu0.16.04.1 [840 kB] 获取:3 http://mirrors.aliyun.com/ubuntu xenial-proposed/main amd64 php7.0-curl amd64 7.0.25-0ubuntu0.16.04.1 [27.4 kB] 获取:4 http://mirrors.aliyun.com/ubuntu xenial-proposed/main amd64 php-curl all 1:7.0+35ubuntu6.1 [1,928 B] 已下载 880 kB,耗时 3秒 (289 kB/s) 正在选中未选择的软件包 php-common。 (正在读取数据库 ... 系统当前共安装有 220903 个文件和目录。) 正准备解包 .../php-common_1%3a35ubuntu6.1_all.deb ... 正在解包 php-common (1:35ubuntu6.1) ... 正在选中未选择的软件包 php7.0-common。 正准备解包 .../php7.0-common_7.0.25-0ubuntu0.16.04.1_amd64.deb ... 正在解包 php7.0-common (7.0.25-0ubuntu0.16.04.1) ... 正在选中未选择的软件包 php7.0-curl。 正准备解包 .../php7.0-curl_7.0.25-0ubuntu0.16.04.1_amd64.deb ... 正在解包 php7.0-curl (7.0.25-0ubuntu0.16.04.1) ... 正在选中未选择的软件包 php-curl。 正准备解包 .../php-curl_1%3a7.0+35ubuntu6.1_all.deb ... 正在解包 php-curl (1:7.0+35ubuntu6.1) ... 正在设置 php-common (1:35ubuntu6.1) ... 正在设置 php7.0-common (7.0.25-0ubuntu0.16.04.1) ... Creating config file /etc/php/7.0/mods-available/calendar.ini with new version … Creating config file /etc/php/7.0/mods-available/tokenizer.ini with new version 正在设置 php7.0-curl (7.0.25-0ubuntu0.16.04.1) ... Creating config file /etc/php/7.0/mods-available/curl.ini with new version 正在设置 php-curl (1:7.0+35ubuntu6.1) ...
Centos下安装支持PHP的CURL 模块
在centos或者Redhat系统下,可以通过yum install 命令执行下面的命令来安装curl模块:
$ sudo yum install php-curl
或者执行下面的命令:
$ sudo yum install php-common
安装完php-curl 模块后,需要重启下Apache/Nginx 服务
执行下面的命令:
$ sudo service nginx restart
或者
$ sudo /etc/init.d/nginx restart
对于centos7.x 系统,执行下面命令:
$ sudo systemctl restart nginx
99%的人还阅读了:
Linux:用腻了 wget 或 curl,有什么更好的替代品吗?
Mac OS:终端下使用curl命令下载文件
Ubuntu 下curl安装及使用指南
Linux 下curl命令post传递表单数据
参考地址:https://curl.haxx.se/download.html
0 Comments