register_shutdown_function(function () {
$error = error_get_last();
if ($error && ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR)) {
if (strpos($error['message'], 'Allowed memory size') === 0) { // если кончилась память
ini_set('memory_limit', (intval(ini_get('memory_limit'))+64)."M"); // выделяем немножко что бы доработать корректно
Log::error("PHP Fatal: not enough memory in ".$error['file'].":".$error['line']);
} else {
Log::error("PHP Fatal: ".$error['message']." in ".$error['file'].":".$error['line']);
}
if(!headers_sent()) {
header($_SERVER[«SERVER_PROTOCOL»].' '.'503');
// ... и тд
}
}
});
$this->_state |= self::FLAG;
$this->_state &= ~self::FLAG;
if($this->_state & self::FLAGS){}
if($this->_state & self::FLAGS == self::FLAGS){}
if($this->_state & ~self::FLAGS){}
if((($this->_state & self::FLAGS) & (($this->_state & self::FLAGS) - 1))){}