비슷한 문제가 있지만 내 (상속된) 코드를 사용하여 작업할 수 있는 솔루션을 얻을 수 없으므로 도움을 주시면 대단히 감사하겠습니다.
양식 통합을 통해 Sage Pay / Opayo 결제 게이트웨이를 사용합니다.
완료/실패 시 고객은 암호화된 _GET 문자열을 사용하여 당사 웹사이트의 URL로 리디렉션됩니다.
복호화 후 getToken 함수( $values = getToken($Decoded);
)를 호출하여 배열에서 값을 가져옵니다.
모든 마커가 항상 채워지는 것은 아니지만 이러한 null 값이 문제의 원인일 수 있다고 생각됩니다.
이 코드는 PHP 7.1에서는 잘 실행되지만 PHP 8.1에서는 예외가 발생합니다.
[2023-05-03 15:12:15 유럽/런던] PHP 치명적인 오류: 잡히지 않은 오류: /home/sitename/public_html/ch_functions.php:166에서 null에 'start' 속성을 할당하려고 시도 중입니다. 스택 추적: #0 /home/sitename/public_html/not_completed.php(32): getToken('VendorTxCode=AP...') #1 {메인} /home/sitename/public_html/ch_functions.php 라인 166에 던지기
코드는 $resultArray[$i]->start = $start;
에서 실패하는 부분은 다음과 같습니다.
$resultArray[$i]
을 객체로 참조했는데 배열이 비어 있어서 참조할 객체가 없습니다. PHP 7.4 이하에서는 다음을 수행할 수 있습니다.PHP는
$x[0]
处动态创建一个stdClass
객체에 foo 속성을 동적으로 생성하지만 다음과 같은 경고를 표시합니다.귀하는 현재 이 경고를 표시하지 않거나 무시하고 있습니다. PHP 8.0에서는 이제 치명적인 오류가 발생합니다. 따라서 값을 설정하기 전에 빈 개체를 만드세요.
으아악또는:
으아악