php的curl模块

请教一个问题,我在使用phpinfo()后,发现的信息中没有curl模块

img


在命令行下键入

php -m

img

后发现有curl。
请问这是什么原因?

除了修改php.ini,还要修改Windows系统的环境变量,将系统变量的Path项添加php.exe所在目录的路径,最后重启服务器。

如果在使用 phpinfo() 函数后,发现信息中没有 curl 模块,则可能是因为 PHP 编译时没有包含 curl 模块。

你可以通过以下方式来解决这个问题:

1.安装 curl 模块:
在 Linux 系统上,你可以使用以下命令来安装 curl 模块:
sudo apt-get install php-curl

在 Windows 系统上,你可以在 PHP 安装目录的 ext 目录中找到 php_curl.dll 文件,并在 PHP 配置文件中加入以下行:
extension=php_curl.dll

2.重新编译 PHP:
如果你是自己编译安装的 PHP,则可以使用以下命令来重新编译 PHP:
./configure --with-curl
在编译完成后,curl 模块就会被包含在 PHP 中。

3.在 PHP 配置文件中加入 curl 模块:
如果你使用的是系统自带的 PHP 或者是从其他地方安装的 PHP,则可以在 PHP 配置文件中加入 curl 模块。

找到 PHP 配置文件,在文件中加入以下行:

extension=curl

然后重启 PHP 服务器,curl 模块就会生效。

在使用 phpinfo() 函数时,如果没有看到 curl 模块的信息,这可能是因为 curl 模块并没有在 PHP 的配置文件中启用。

在命令行下运行 php -m 命令时,它会列出当前 PHP 运行时所加载的所有模块。如果在这个列表中看到了 curl 模块,那么这意味着在命令行下运行 PHP 时,curl 模块是可用的。

解决方法是在 PHP 的配置文件中启用 curl 模块。具体的步骤如下:

打开 PHP 的配置文件,通常是 php.ini 文件。

查找 extension=curl 这一行。

将这一行前面的分号去掉,表示启用 curl 模块。

保存文件并重新启动 Web 服务器。

在这之后,再次使用 phpinfo() 函数应该就能看到 curl 模块的信息了。

望采纳!!点击该回答右侧的“采纳”按钮即可采纳!!

可能是因为 PHP 未安装 curl 扩展,或者 PHP 已经安装了 curl 扩展,但是在 PHP 配置文件中未启用该扩展。


如果你想使用 curl 扩展,可以尝试以下方法来解决问题:

在 PHP 配置文件中启用 curl 扩展。PHP 配置文件的位置通常在 php.ini 文件中,你可以打开该文件,找到 extension=curl 这一行,将前面的分号去掉即可。
安装 curl 扩展。你可以使用

操作系统提供的包管理工具来安装 curl 扩展。例如,在 CentOS 中,你可以使用 yum 安装:

yum install curl

在 Ubuntu 中,你可以使用 apt 安装:

apt-get install curl

安装完成后,需要重启 PHP,才能使新安装的 curl 扩展生效。

如果安装 curl 扩展后仍然无法使用,可能是因为 PHP 并未使用刚刚安装的 curl 扩展。你可以尝试重启 PHP,或者检查 PHP 配置文件中是否启用了 curl 扩展。

如果仍然无法解决问题,可能是因为 PHP 在编译时没有启用 curl 扩展。你可以尝试重新编译 PHP,并在编译时启用 curl 扩展。你也可以尝试使用操作系统提供的 PHP 包,这些 PHP 包通常已经包含了常用的扩展。

设置extension_dir = "ext",结束php-cgi.exe进程。

如果想要使用curl功能,需要在php.ini文件中将extension=php_curl.dll前的分号去掉,然后重启web服务器即可。如果还是无法使用curl功能,可能是没有安装curl扩展或者curl扩展没有正确安装。可以尝试在命令行中使用php -m命令查看是否安装了curl扩展,如果没有安装,可以使用pecl install curl命令来安装。

整体思路:

一、检查php安装目录的下php.ini文件
1、检查并确认已经打开了curl的模块,把前面的分号去掉,如:extension=php_curl.dll
2、检查并正确配置了扩展库的路径,如:extension_dir = "D:/software/php-5.6.28/ext"
二、如果第一步正确无误后,第二步就相应的把以下动态链接库对应复制到CSystem32syswow64目录下
1、把libeay32.dllssleay32.dllphp_curl.dll复制到C:\Windows\SysWOW64目录下
2、把libssh2.dll复制到C:\Windows\System32目录下
三、把php的安装目录添加到系统环境变量path中
最后,请重起apache服务,重新打开一个页面输出phpinfo()
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:PHP curl 获取错误

php中使用CURL之php curl详解
借鉴下
http://t.zoukankan.com/zzjdbk-p-12970367.html

phpinfo() 函数会显示当前 PHP 运行环境的所有配置信息,这些信息包括 PHP 版本、安装路径、已编译的模块、配置选项等等。

如果在使用 phpinfo() 函数时没有看到 curl 模块,但是在命令行中使用 php -m 命令时能看到 curl 模块,这可能是因为在 PHP 运行时,curl 模块并未被加载。

可以使用函数 extension_loaded() 来检查 curl 模块是否被加载。例如:

if (extension_loaded('curl')) {
// curl 模块已加载
} else {
// curl 模块未加载
}

如果 curl 模块未被加载,则需要修改 PHP 配置文件来启用 curl 模块。在 PHP 配置文件(通常为 php.ini)中,找到 extension=curl 这一行,并将前面的分号(;)去掉。例如:

;extension=curl

改为:

extension=curl

保存更改后,重启 PHP 服务器或 FPM 服务,curl 模块即可正常使用。

1、把php目录中的libeay32.dll和ssleay32.dll拷到c:\windows\system32里面。

2、最后要重启IIS。