Q&A

CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.3

안녕하세요.

 

에러 로그를 보니, 

[18-Jun-2025 20:48:10 Etc/GMT-9] PHP Fatal error: Declaration of Rhymix\Framework\Helpers\HTTPHelper::withStatus(int $code, string $reasonPhrase = ''): Psr\Http\Message\ResponseInterface must be compatible with Psr\Http\Message\ResponseInterface::withStatus($code, $reasonPhrase = '') in /home/momeng/www/common/framework/helpers/HTTPHelper.php on line 48

 

이런 에러가 반복적으로 발생하는데, 

chatGPT에게 물어보니 대략의 설명과 함께 아래와 같이 수정하라고 제안하네요.

그런데 라이믹스 코어라 막 수정하면 안될 것 같아서 조언을 부탁드려요.

 

public function withStatus($code, $reasonPhrase = '')
{
    $new = clone $this;
    $new->_error_message = $reasonPhrase;
    return $new;
}

 

스코스코 Lv. 5

댓글 1

  • 2시간 전 #1909689

    라이믹스에 포함된 common/vendor/psr/http-message/src/ResponseInterface.php 를 보면

    withStatus(int $code, string $reasonPhrase = '')가 맞습니다.

     

    int, string 타입 선언이 없는 버전에 맞추라고 요구한다면, 현재 코어에 포함된 라이브러리가 아닌 유사품입니다. 최근 라이믹스를 업데이트하시면서 common/vendor 폴더 이하의 내용이 제대로 업로드되지 않아서 구 버전이 남아 있거나, 아니면 다른 버전의 Guzzle이나 Psr\Http 라이브러리를 임의로 인클루드하는 자료가 있을 가능성이 높습니다. 외부 서버와 통신하는 기능이 있는 자료를 의심해 보세요.


    라이믹스용 자료에서 composer를 사용하여 라이브러리를 설치할 경우, composer-stub을 참고하여 코어에 포함된 라이브러리를 중복으로 설치하거나, 충돌하는 버전을 설치하거나, 코어 라이브러리보다 먼저 로딩되지 않도록 조치해야 합니다.