/** * Checks if xdebug.max_nesting_level is set 200 or more * @return array */ private function checkXDebugNestedLevel() { $data = []; $error = false; $currentExtensions = $this->phpInformation->getCurrent(); if (in_array('xdebug', $currentExtensions)) { $currentXDebugNestingLevel = intval(ini_get('xdebug.max_nesting_level')); $minimumRequiredXDebugNestedLevel = $this->phpInformation->getRequiredMinimumXDebugNestedLevel(); if ($minimumRequiredXDebugNestedLevel > $currentXDebugNestingLevel) { $error = true; } $message = sprintf( 'Your current setting of xdebug.max_nesting_level=%d. Magento 2 requires it to be set to %d or more. Edit your config, restart web server, and try again.', $currentXDebugNestingLevel, $minimumRequiredXDebugNestedLevel ); $data['xdebug_max_nesting_level'] = [ 'message' => $message, 'error' => $error ]; } return $data; }
public function testGetRequiredMinimumXDebugNestedLevel() { $phpInformation = new PhpInformation(); $this->assertEquals(200, $phpInformation->getRequiredMinimumXDebugNestedLevel()); }