Home 게시판 커뮤니티 Q&A Illegal offset type 에러가 나타납니다..

1 voice, 0개 답변
  • Avatar of jjeonssjjeonss
    Participant
    @jjeonss
    #3739

    워드프레스뿐 아니라 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)
    }

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

1 글 보임 - 1에서 1 까지 (총 1 중에서)
  • 답변은 로그인 후 가능합니다.