PHP cURL 突然无缘无故无法工作

标签 php curl

我目前正在开发一个项目,该项目在同一台服务器上对我的 API 进行 ajax 调用。直到几个小时前 cURL 之前一切都很好。突然停止工作无缘无故它给了我以下错误

Protocol https not supported or disabled in libcurl

但这没有任何意义,因为它工作得更早,我唯一改变的是登录屏幕(仅限 PHP)和服务器上的时区,从默认为“欧洲/柏林”
dpkg-reconfigure tzdata
[php.ini] date.timezone = "Europe/Berlin";

我已经重新启动了 apache2,重新启动了服务器,检查了 php.ini 文件和我的 phpinfo,一切都一样,没有任何错误或更改,但 curl 无法正常工作。我试图 curl 其他主机和本地主机,但没有任何效果。我还检查了/var/mail/root,没有任何错误。

我的服务器信息很少
  • Debian 8
  • 赛门铁克的 SSL 证书
  • 没有任何限制的完全根访问

  • 这就是我正在使用的 cURL 代码
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->url);
    
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
        curl_setopt($ch, CURLOPT_POST, count($params));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    
        session_write_close();
        $result = curl_exec($ch);
        curl_close($ch);
        session_start();
    

    就像我说的那样,它运行良好,超过 1 个月没有任何问题。这是我见过的最奇怪的事情。我希望有人能帮助我。
    如果没有, curl 有什么好的替代品吗? (POST请求)

    提前致谢!

    最佳答案

    感谢大家的帮助,但我发现了错误。
    问题如下:
    curl不适用于 https 协议(protocol),因为库文件夹中的链接/文件损坏。如果 curl 不适合您,请咨询 curl --version如果您收到以下错误:

    curl: /usr/local/lib/libcurl.so.4: no version information available (required by curl)
    

    如果是,请转至/usr/local/lib并删除libcurl链接/文件。这为我解决了这个问题。之后只需重新启动 apache2,它应该会再次工作。

    请注意,这只是为我解决了问题,而不是全局解决问题。因此,请注意您在服务器上删除的内容。永远做好备份!

    关于PHP cURL 突然无缘无故无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42815334/

    相关文章:

    php - 将 WP_Query 与自定义 SQL 一起使用?

    c++ - 如何将文本从网站复制到 C++ 中的字符串?

    Java/Android JSON 请求不更新收到的数据

    php - 上传图片到服务器php-my-sql(android)

    php - 如何使用动态用户属性配置用户认证?

    php - 使用 Paypal 用户名、密码和签名访问 REST API

    python - 从子进程执行 curl 的正确方法是什么?

    php - 将 PUT 方法与 PHP cUrl 库一起使用

    html - 在 Shell 脚本中使用 CURL 解析 HTML

    php - 在elasticsearch中使用PHP客户端库设置索引别名?