Fix #20482: Fix deprecation of ReflectionMethod::setAccessible() in PHP 8.5

This commit is contained in:
Wilmer Arambula
2025-08-20 08:31:47 -04:00
committed by GitHub
parent 5aabdd3a21
commit f5a071b1f8
13 changed files with 120 additions and 50 deletions

View File

@ -222,7 +222,13 @@ abstract class ErrorHandler extends Component
if (E_ERROR & $code) {
$exception = new ErrorException($message, $code, $code, $file, $line);
$ref = new \ReflectionProperty('\Exception', 'trace');
$ref->setAccessible(true);
// @link https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_reflectionsetaccessible
// @link https://wiki.php.net/rfc/make-reflection-setaccessible-no-op
if (PHP_VERSION_ID < 80100) {
$ref->setAccessible(true);
}
$ref->setValue($exception, $backtrace);
$this->_hhvmException = $exception;
}