解析错误:语法错误,第1137行/wp includes/class-http.php中出现意外的$end

解析错误:语法错误,第1137行/wp includes/class-http.php中出现意外的$end,php,wordpress,Php,Wordpress,所以我在论坛上仔细搜索了一下,似乎我最有可能缺少了一个括号或什么东西 这是我的wordpress网站。如果这有什么不同的话,它实际上是一个多站点 有趣的是,我之前已经解决了这个问题,只需将这个class http.php文件替换为最新Wordpress下载的新文件。但我在这里大约一个半星期后,同样的错误再次发生,所以也许还有其他的东西,有人是并驾齐驱的 ——第1137行是代码的最后一行——在我未经训练的眼睛看来,它已经缺少了一些东西。但更重要的是,什么是在以后的日子里去掉这些呢 另外,我刚刚查看

所以我在论坛上仔细搜索了一下,似乎我最有可能缺少了一个括号或什么东西

这是我的wordpress网站。如果这有什么不同的话,它实际上是一个多站点

有趣的是,我之前已经解决了这个问题,只需将这个
class http.php
文件替换为最新Wordpress下载的新文件。但我在这里大约一个半星期后,同样的错误再次发生,所以也许还有其他的东西,有人是并驾齐驱的

——第1137行是代码的最后一行——在我未经训练的眼睛看来,它已经缺少了一些东西。但更重要的是,什么是在以后的日子里去掉这些呢

另外,我刚刚查看了新的
类http.php
文件,它似乎有
2174
行,而不是
1137
。我想知道是否有插件?或者是什么在不断地否定这个文件

fclose($stream\u handle);
}否则{
$header_length=0;
而(!feof($handle)&&$keep_reading){
$block=fread($handle,$block\u size);
$strResponse.=$block;
如果(!$bodyStarted&&strpos($strResponse,“\r\n\r\n”)){
$header\u length=strpos($strResponse,“\r\n\r\n”)+4;
$bodyStarted=true;
}
$keep_reading=(!$bodyStarted | | |!isset($r['limit_response_size'))| strlen($strResponse)<($header_length+$r['limit_response_size');
}
$process=WP_Http::processResponse($strResponse);
未设置($strResponse);
}
fclose($handle);
$arrHeaders=WP_Http::processHeaders($process['headers',$url);
$response=array(
'headers'=>$arrHeaders['headers'],
//尚未处理。
'body'=>null,
'response'=>$arrHeaders['response'],
'cookies'=>$arrHeaders['cookies'],
'filename'=>r$r['filename']
);
//处理重定向。
if(false!=($redirect\u response=WP\u HTTP::handle\u redirects($url,$r,$response)))
返回$U响应;
//如果主体是块编码的,则对其进行解码。
如果(!empty($process['body'])和&isset($arrHeaders['headers']['transfer-encoding'])和(&'chunked'==$arrHeaders['headers']['transfer-encoding']))
$process['body']=WP_Http::chunkTransferDecode($process['body']);
if(true==$r['decompress']&&true==WP\u Http\u Encoding::should\u decode($arrHeaders['headers']))
$process['body']=WP_Http_Encoding::decompress($process['body']);
if(isset($r['limit\u response\u size'])和&strlen($process['body'])>$r['limit\u response\u size']))
$process['body']=substr($process['body'],0,$r['limit_response_size']);
$response['body']=$process['body'];
返回$response;
}
/**
*根据收到的SSL证书的公用名称和subjectAltName字段验证该证书
*
*PHP的SSL验证只验证它是否是有效的证书,而不验证
*证书对于请求的主机名有效。
*此函数根据证书的subjectAltName字段验证请求的主机名,
*如果该字段为空,或不包含DNS条目,则使用“公用名称”字段的回退。
*
*如果向IP地址发出请求,则包括IP地址支持。
*
*@自3.7.0以来
*@静态
*
*@param stream$stream正在进行SSL请求的PHP流
*@param string$host请求的主机名
*@return bool如果$stream中显示的证书对$host有效
*/
公共静态函数验证ssl证书($stream,$host){
$context\u options=stream\u context\u get\u options($stream);
if(空($context_options['ssl']['peer_certificate']))
返回false;
$cert=openssl_x509_parse($context_options['ssl']['peer_certificate']);
如果(!$cert)
返回false;
/*
*如果请求是向IP地址发出的,我们将根据IP字段进行验证
*在证书中(如果存在)
*/
$host_type=(WP_HTTP::is_ip_地址($host)?'ip':'dns');
$certificate_hostnames=array();
如果(!empty($cert['extensions']['subjectAltName'])){
$match_-on=preg_-split('/,\s*/',$cert['extensions']['subjectAltName']);
foreach($match_与$match匹配){
列表($match_type,$match_host)=分解(':',$match);
如果($host\u type==strtolower(trim($match\u type))//IP:或DNS:
$certificate_hostnames[]=strtolower(trim($match_host));
}
}elseif(!empty($cert['subject']['CN'])){
//仅当证书不包含subjectAltName扩展名时才使用CN。
$certificate_hostnames[]=strtolower($cert['subject']['CN']);
}
//精确的主机名/IP匹配。
如果(在_阵列中(strtolower($host),$certificate)

意外结束=您缺少
}<代码>或其他语句终止符。使用一个代码编辑器,允许你在括号内的N个东西上弹跳,例如VIM的“代码> %>代码>命令,看看弹跳失败的地方。你是对的,文件在中间行。你最近对WP安装有任何改变吗?触发此问题?是否安装了新的扩展等。?