문제:
macOS에서 PHP 8로 업데이트한 후 머신에서 Laravel 애플리케이션이 작동하지 않게 되고 다음 오류 메시지가 표시됩니다.
Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 871 Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 945 Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 871 Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/.../Sites/.../vendor/laravel/framework/src/Illuminate/Container/Container.php on line 945
해결책:
이 문제는 Laravel 6에 구현된 변경으로 인해 발생합니다. PHP 8의 개정된 유형 시스템을 수용하는 7 및 8입니다. 문제를 해결하려면 다음 단계를 수행해야 합니다.
"php"에 PHP 8 호환성 추가 Composer.json에 항목을 추가하여 PHP 7.4와 8.0 모두에 대한 지원을 보장합니다.
"php": "^7.4|^8.0",
Laravel을 해당 버전으로 업데이트합니다. 최신 버전:
composer update
Laravel 애플리케이션은 일반적으로 다음 라이브러리를 활용합니다.
PHP 8 지원을 활성화하는 필수 업데이트가 있는지 설치된 다른 라이브러리를 검토하세요.
설명:
PHP 8에서는 통합 유형, 혼합 유형 및 Reflection API의 ReflectionParameter 클래스에서 더 이상 사용되지 않는 메소드를 포함하여 유형 시스템에 변경 사항이 도입되었습니다.
ReflectionParameter::getClass() ReflectionParameter::isArray() ReflectionParameter::isCallable()
대체로 ReflectionParameter::getType이 사용되었습니다. ()를 사용해야 하는데 이는 PHP 7.0에서 도입되었으며 정확한 유형 정보를 제공합니다.
위 내용은 PHP 8 업그레이드 후 Laravel 애플리케이션 기능 장애를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!