Issue #3258987 by phenaproxima, xjm, mrweiner, catch, cilefen, mfb,...
Issue #3258987 by phenaproxima, xjm, mrweiner, catch, cilefen, mfb, benjifisher, Berdir, szato: Status report should warn about OPcache bug in PHP 8.1.0 to 8.1.5
$requirements['php']['description']=t('PHP %version has <a href=":bug_url">an OPcache bug that can cause fatal errors with class autoloading</a>. This can be fixed by upgrading to PHP 8.1.6 or later. See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal PHP requirements</a> page for more information.',[
$requirements['php']['description']=t('It is recommended to upgrade to PHP version %recommended or higher for the best ongoing support. See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal PHP requirements</a> page for more information.',['%recommended'=>\Drupal::RECOMMENDED_PHP,':php_requirements'=>'https://www.drupal.org/docs/system-requirements/php-requirements']);
// Append the notice about the broken PHP versions to the existing
// description (if there is one), so that the existing translatable string
// is preserved untouched.
$requirements['php']['description']=t('<p>@requirement</p><p>PHP versions 8.1.0 to 8.1.5 have <a href=":bug_url">an OPcache bug that can cause fatal errors with class autoloading</a>. It can be avoided by using PHP 8.1.6 or later.</p>',[
$this->assertSession()->pageTextContains("PHP $phpversion has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later.");
$this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading');
}
// If we're on a PHP version older than 8.1, warn about the broken versions.
if(version_compare($phpversion,'8.1.0','lt')){
$this->assertSession()->pageTextContains('PHP versions 8.1.0 to 8.1.5 have an OPcache bug that can cause fatal errors with class autoloading. It can be avoided by using PHP 8.1.6 or later.');
$this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading');