致命错误curl_reset()未定义为什么?

Man*_*wal 16 php curl

我正在使用curl请求另一个站点获取数据.我的curl_reset()funciton 代码在localhost上运行良好,但是当我将代码更新到服务器时.它给出错误

致命错误:在2054行的/data/html/reviewkiller1.0/controller/searchController.php中调用未定义的函数curl_reset()

注意:我已检查curl扩展名是否已启用.

为什么会这样?

tfo*_*ont 23

不需要更新PHP版本.

if (!function_exists('curl_reset'))
{
    function curl_reset(&$ch)
    {
        $ch = curl_init();
    }
}
Run Code Online (Sandbox Code Playgroud)


Kar*_*ath 21

PHP在您的服务器上已经过时了.

手册:(PHP 5 >= 5.5.0)

  • 我的PHP版本是5.6.19但仍然出现此错误! (2认同)

Man*_*wal 13

我的PHP版本是5.3所以我无法使用curl_reset()功能.

我正在使用curl_reset()函数来获取多个curl请求的响应.所以我删除curl_reset()并使用了

curl_setopt($curl_handle, CURLOPT_HTTPGET, 1);
curl_setopt($curl_handle, CURLOPT_POST, false);
Run Code Online (Sandbox Code Playgroud)

问题是在发布请求之后我的get请求没有给出响应当我将curl_post设置为false时我的请求运行良好.

结论:当您使用多个curl请求时,重要的是保持调用setopt在GET和POST请求之间切换.

  • 多亏了这一点,在我们将服务器升级到PHP 7之前,为临时解决方案提供了很多帮助. (2认同)

Dun*_*ung 6

以下是100%正常运行的测试解决方案:

由于使用php版本5.4的curl_reset导致php-error-log出错:

Fatal error: Call to undefined function GuzzleHttp\Handler\curl_reset() in ...
Run Code Online (Sandbox Code Playgroud)

升级到php 5.5版成功解决了问题.如果你在cpanel升级php版本只需要3或4次点击.

请享用!

如果解决了问题,请标记为已回答.谢谢!