PHP 8.1의 DOMDocument 직렬화
P粉891237912
P粉891237912 2024-01-16 11:19:03
0
1
577

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

으아악

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

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

으아악

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

P粉891237912
P粉891237912

모든 응답(1)
P粉041881924

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

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

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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿