Skip to content

Commit

Permalink
[Config] ensure moving away from Serializable wont break cache:clear
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-grekas committed Jan 30, 2019
1 parent 3cfb558 commit 9d3180a
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/Symfony/Component/Config/ResourceCheckerConfigCache.php
Expand Up @@ -156,18 +156,19 @@ private function safelyUnserialize($file)
{
$e = null;
$meta = false;
$content = file_get_contents($file);
$signalingException = new \UnexpectedValueException();
$prevUnserializeHandler = ini_set('unserialize_callback_func', '');
$prevErrorHandler = set_error_handler(function ($type, $msg, $file, $line, $context = []) use (&$prevErrorHandler, $signalingException) {
if (E_WARNING === $type && 'Class __PHP_Incomplete_Class has no unserializer' === $msg) {
if (__FILE__ === $file) {
throw $signalingException;
}

return $prevErrorHandler ? $prevErrorHandler($type, $msg, $file, $line, $context) : false;
});

try {
$meta = unserialize(file_get_contents($file));
$meta = unserialize($content);
} catch (\Error $e) {
} catch (\Exception $e) {
}
Expand Down

0 comments on commit 9d3180a

Please sign in to comment.