PHP 5.4 Call-Time Pass-by-Reference 문제 해결
"PHP Fatal error: Call-time pass- 레거시 PHP에서 함수를 참조하여 변수를 전달할 때 참조 기준이 제거되었습니다.' 오류가 자주 발생합니다. code.
문제 설명:
이 문제는 PHP 5.3 이상에서 참조에 의한 호출 시간 전달 지원 중단으로 인해 발생합니다. 이전에는 함수 호출 중에 "&" 앰퍼샌드 기호를 사용하여 참조로 변수를 전달할 수 있었습니다. 그러나 PHP 버전 5.4에서는 이 기능이 제거되어 함수 정의 내에서 명시적인 참조 전달 선언이 필요합니다.
해결책:
이 문제를 해결하려면 다음이 필수적입니다. 함수 도중이 아니라 함수 정의 자체에서 참조에 의한 호출을 선언합니다. call.
예:
다음 코드를 사용하는 대신:
// Deprecated myFunc(&$arg); function myFunc($arg) { // ... }
다음과 같이 다시 작성해야 합니다.
// Correct myFunc($var); function myFunc(&$arg) { // ... }
중요 사항:
매혹적일 수도 있지만 코드 재작성을 피하기 위해 레거시 호출 시간 참조 방식을 고수하려면 PHP 권장 사항과 일치하도록 코드를 업데이트하는 것이 좋습니다. 이는 최신 PHP 버전과의 호환성을 보장할 뿐만 아니라 향후 지원 중단 경고 및 오류 가능성을 제거합니다.
위 내용은 PHP에서 \'Call-time Pass-by-Reference가 제거되었습니다\' 오류를 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!