(retrofit from trunk) N. 550 the OpCode cache may cause the upgrade of the datamodel to fail. Let's flush it after the compilation.

SVN:2.3[4495]
This commit is contained in:
Denis Flaven
2016-12-07 17:37:22 +00:00
parent d651196eae
commit a89252c6b3

View File

@@ -124,6 +124,21 @@ class MFCompiler
// Move the results to the target directory
SetupUtils::movedir($sTempTargetDir, $sFinalTargetDir);
}
// Reset the opcache since otherwise the PHP "model" files may still be cached !!
// In case of bad luck (this happens **sometimes** - see N. 550), we may analyze the database structure
// with the previous datamodel still loaded (in opcode cache) and thus fail to create the new fields
// Finally the application crashes (because of the missing field) when the cache gets updated
if (function_exists('opcache_reset'))
{
// Zend opcode cache
opcache_reset();
}
else if (function_exists('apc_clear_cache'))
{
// old style APC
apc_clear_cache();
}
}