diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php index 97650bd..9f8aaaa 100644 --- a/core/lib/Drupal/Core/DrupalKernel.php +++ b/core/lib/Drupal/Core/DrupalKernel.php @@ -250,12 +250,11 @@ public static function createFromRequest(Request $request, $class_loader, $envir // loader. if ($class_loader_class == get_class($class_loader) && Settings::get('class_loader_auto_detect', TRUE) - && Settings::get('hash_salt', FALSE) && function_exists('apc_fetch')) { - $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader('drupal.' . Settings::get('hash_salt'), $class_loader); + $prefix = 'drupal' . hash('sha-256', 'drupal.' . Settings::getHashSalt()); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); $class_loader->unregister(); $apc_loader->register(); - $class_loader = $apc_loader; } return $kernel; diff --git a/core/rebuild.php b/core/rebuild.php index 656673f..e89486f 100644 --- a/core/rebuild.php +++ b/core/rebuild.php @@ -22,7 +22,7 @@ // Clear the APCu cache to ensure APCu classloader is reset. if (function_exists('apc_fetch')) { - apc_clear_cache(); + apc_clear_cache('user'); } $autoloader = require_once __DIR__ . '/vendor/autoload.php'; diff --git a/sites/default/default.settings.php b/sites/default/default.settings.php index 4146ba2..152e3a9 100644 --- a/sites/default/default.settings.php +++ b/sites/default/default.settings.php @@ -403,7 +403,9 @@ */ /* if ($settings['hash_salt']) { - $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader('drupal.' . $settings['hash_salt'], $class_loader); + $prefix = 'drupal.' . hash('sha-256', 'drupal' . $settings['hash_salt']); + $apc_loader = new \Symfony\Component\ClassLoader\ApcClassLoader($prefix, $class_loader); + unset($prefix); $class_loader->unregister(); $apc_loader->register(); $class_loader = $apc_loader;