Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Curl Connectin超时_Php_Wordpress_Curl - Fatal编程技术网

Php Curl Connectin超时

Php Curl Connectin超时,php,wordpress,curl,Php,Wordpress,Curl,我有WorpAddress插件,它通过curl与我的生产站点进行通信。 以下是curl代码: $vars = json_encoded( array( //some params ); ); $headers = array( 'Accept: application/json', 'Content-Type: application/j

我有WorpAddress插件,它通过curl与我的生产站点进行通信。 以下是curl代码:

   $vars = json_encoded(
                array(
                   //some params
                  );
   );

    $headers = array(
        'Accept: application/json',
        'Content-Type: application/json',
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://mysite.com/myapi");
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    $result = curl_exec($ch);

    var_dump(curl_error($ch);
它适用于所有使用我的插件的wp站点,但突然间它只适用于一个站点: curl_error()返回以下内容:

Failed to connect to mysite.com port 443: Connection timed out
另外,我的插件不在wordpress存储库中,它放在上,我的插件使用钩子“site\u transient\u update\u plugins”检查可用的更新。这也不再起作用了,他们也不再收到关于更新的消息

所以我猜他们在服务器上更改了导致此问题的某些内容,但我无法找到导致此问题的原因

我也不是100%确定,但连接需要大约300秒才会抛出此错误。300秒是CURLOPT_CONNECTTIMEOUT的默认值


因此,任何可能导致这种行为的建议都会有所帮助

你能检查一下那个网站的防火墙吗。我确信该站点上的防火墙正在阻止到生产服务器IP地址的通信。

尝试远程登录您的站点,以确保端口443打开且可访问

telnet mysite.com 443
如果得到响应,则表示防火墙和Apache/web服务器没有问题


这不仅是防火墙的问题,您还应该向web服务器检查443端口是否打开

我必须问:您确定与服务器的连接正常吗?例如,您是否尝试远程登录443端口并查看它是否处于活动状态?是的,我100%确定与服务器的连接正常。正如我所说的,它适用于所有其他站点,也适用于我的几个wp站点(在几个不同的服务器上)。只是它停止了这个网站的工作。所以我不知道是什么原因导致了这种情况,php.ini中的一些设置或其他。我正在尝试复制它,但我无法复制。错误消息看起来问题出在连接层,而不是应用层,这就是我问的原因。通常,即使应用程序中出现问题,您也会得到响应。我会检查服务器上的日志,如果你没有发现任何有用的东西,我会做tcpdump检查服务器是否正确接收到数据包。同时检查DNS解析。更好的是,尝试从不工作的机器ping mysite.com。也
wgethttps://mysite.com:8080
(来自不工作的机器)将向您提供详细的错误消息是的,问题出在防火墙上。他们设置了防火墙,将所有流量都传送到我的服务器。现在修好了。谢谢