>  Q&A  >  본문

PHP 8.1의 DOMDocument 직렬화

특히 PHP 8.1에서 실행할 때 다음 클래스를 기본 PHP 직렬화와 호환되도록 만들려고 합니다.

으아악

낮은 PHP 버전에서는 모든 것이 괜찮았지만 8.1에서는 未捕获的异常:'SerializedDomDocument' 的序列化不允许 每当尝试将此类对象传递给 serialize() 기능이 생성됩니다. 다음은 이러한 예외를 생성하는 코드의 예입니다: https://3v4l.org/m8sgc.

PHP 7.4에 도입된 __serialize() / __unserialize() 메소드를 알고 있지만 이를 사용해도 별 도움이 되지 않는 것 같습니다. 다음 코드 조각은 https://3v4l.org/ZU0P3에서 관찰된 것과 동일한 예외를 발생시킵니다.

으아악

저는 이 문제에 대해 매우 혼란스럽습니다. 조언을 주시면 정말 감사하겠습니다. 현재로서 앞으로 나아갈 수 있는 유일한 방법은 명시적인 정규화/비정규화를 도입하는 것인데, 이로 인해 코드베이스 API가 크게 변경될 것입니다. 나는 이런 상황을 피하고 싶다.

P粉891237912P粉891237912251일 전482

모든 응답(1)나는 대답할 것이다

  • P粉041881924

    P粉0418819242024-01-17 09:46:33

    2021년 8월 10일에 이 변경 사항이 버전 8.1 RC1에 적용되었습니다.

    DOM 클래스를 직렬화 불가능으로 표시

    따라서 이러한 클래스는 더 이상 직렬화할 수 없습니다.

    회신하다
    0
  • 취소회신하다