Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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 Check 404:始终返回HTTPCODE 200 OK_Php_Curl_Nginx_Http Status Code 404 - Fatal编程技术网

PHP Curl Check 404:始终返回HTTPCODE 200 OK

PHP Curl Check 404:始终返回HTTPCODE 200 OK,php,curl,nginx,http-status-code-404,Php,Curl,Nginx,Http Status Code 404,我正在尝试修复网站上的链接。我必须检查404页上的所有链接。我使用PHPCURL检查响应http代码。但奇怪的是,它总是返回200 OK 这是我的is_404()代码 我总是返回200 OK,即使在显示404页面的页面上也是如此。服务器正在用正确的页面处理所有404 任何帮助都将不胜感激 我也遇到了同样的问题,直到我明白这是因为我的网络配置中存在多个故障切换ip host A ( failover ip1,failover ip2 ) host B ( failover ip1,failov

我正在尝试修复网站上的链接。我必须检查404页上的所有链接。我使用PHPCURL检查响应http代码。但奇怪的是,它总是返回200 OK

这是我的
is_404()
代码

我总是返回200 OK,即使在显示404页面的页面上也是如此。服务器正在用正确的页面处理所有404


任何帮助都将不胜感激

我也遇到了同样的问题,直到我明白这是因为我的网络配置中存在多个故障切换ip

host A ( failover ip1,failover  ip2 )

host B ( failover ip1,failover  ip2 )
curl在主机B上创建假阳性,因为它在默认情况下解析IP,即使故障转移点指向主机A,调用也是本地的

也许在您的配置上是相同的

解决我的问题的简单解决方法:

curl_setopt($ch, CURLOPT_INTERFACE, "eth0");

您确定404页面也返回状态代码404吗?这可能会解释问题:所有404页面都显示您输入了错误的url。全部返回200 OK响应。我可能需要为该页面设置404HTTP代码头。
curl_setopt($ch, CURLOPT_INTERFACE, "eth0");