Illegal offset type 에러가 나타납니다.. – 한국워드프레스사용자모임 https://kopress.kr/topic/illegal-offset-type-%ec%97%90%eb%9f%ac%ea%b0%80-%eb%82%98%ed%83%80%eb%82%a9%eb%8b%88%eb%8b%a4/feed Sun, 12 Jan 2025 11:07:46 +0000 https://bbpress.org/?v=2.6.9 ko-KR https://kopress.kr/topic/illegal-offset-type-%ec%97%90%eb%9f%ac%ea%b0%80-%eb%82%98%ed%83%80%eb%82%a9%eb%8b%88%eb%8b%a4/#post-3739 <![CDATA[Illegal offset type 에러가 나타납니다..]]> https://kopress.kr/topic/illegal-offset-type-%ec%97%90%eb%9f%ac%ea%b0%80-%eb%82%98%ed%83%80%eb%82%a9%eb%8b%88%eb%8b%a4/#post-3739 Fri, 31 Jul 2009 00:58:18 +0000 jjeonss 워드프레스뿐 아니라 php 초보다 보니 해결이 안되네요..

매번 나오는건 아니고 어쩌다 한번씩 에러 메시지가 나옵니다.

Warning: Illegal offset type in /web/home/jjeonss/html/wp-includes/rss.php on line 1459

Warning: Illegal offset type in /web/home/jjeonss/html/wp-includes/rss.php on line 1459

네이버 지식인에 물어보니

1. Zend Optimizer 버전때문
2. foreach 구문 오류 라 하는데요..

현재 호스팅 서버 버전이 v2.6.2 입니다.
그럼 2번 문제란 얘긴거 같은데요.. 구문 변경이 어려워 질문 드립니다.

rss.php 파일내 foreach 구민 써진 곳입니다.

/*=======================================================================*
Function: _response_to_rss
Purpose: parse an HTTP response object into an RSS object
Input: an HTTP response object (see Snoopy)
Output: parsed RSS object (see rss_parse)
*=======================================================================*/
function _response_to_rss ($resp, $url = null) {
$rss = new MagpieRSS( $resp->results, MAGPIE_OUTPUT_ENCODING, MAGPIE_INPUT_ENCODING, MAGPIE_DETECT_ENCODING, $url );

// if RSS parsed successfully
if ( $rss and !$rss->ERROR) {
$rss->http_status = $resp->status;

// find Etag, and Last-Modified
foreach($resp->headers as $h) {
// 2003-03-02 – Nicola Asuni (www.tecnick.com) – fixed bug "Undefined offset: 1"
if (strpos($h, ": ")) {
list($field, $val) = explode(": ", $h, 2);
}
else {
$field = $h;
$val = "";
}

$rss->header[$field] = $val;

if ( $field == ‘ETag’ ) {
$rss->etag = $val;
}

if ( $field == ‘Last-Modified’ ) {
$rss->last_modified = $val;
}
}

return $rss;
} // else construct error message
else {
$errormsg = "Failed to parse RSS file.";

if ($rss) {
$errormsg .= " (" . $rss->ERROR . ")";
}
error($errormsg);

return false;
} // end if ($rss and !$rss->error)
}

고수님들의 답변 바랍니다…

]]>