function XdebugHandler::setXdebugDetails
Sets static properties $xdebugActive, $xdebugVersion and $xdebugMode
2 calls to XdebugHandler::setXdebugDetails()
- XdebugHandler::isXdebugActive in vendor/
composer/ xdebug-handler/ src/ XdebugHandler.php - Returns whether Xdebug is loaded and active
- XdebugHandler::__construct in vendor/
composer/ xdebug-handler/ src/ XdebugHandler.php - Constructor
File
-
vendor/
composer/ xdebug-handler/ src/ XdebugHandler.php, line 679
Class
- XdebugHandler
- @author John Stevenson <john-stevenson@blueyonder.co.uk>
Namespace
Composer\XdebugHandlerCode
private static function setXdebugDetails() : void {
if (self::$xdebugActive !== null) {
return;
}
self::$xdebugActive = false;
if (!extension_loaded('xdebug')) {
return;
}
$version = phpversion('xdebug');
self::$xdebugVersion = $version !== false ? $version : 'unknown';
if (version_compare(self::$xdebugVersion, '3.1', '>=')) {
$modes = xdebug_info('mode');
self::$xdebugMode = count($modes) === 0 ? 'off' : implode(',', $modes);
self::$xdebugActive = self::$xdebugMode !== 'off';
return;
}
// See if xdebug.mode is supported in this version
$iniMode = ini_get('xdebug.mode');
if ($iniMode === false) {
self::$xdebugActive = true;
return;
}
// Environment value wins but cannot be empty
$envMode = (string) getenv('XDEBUG_MODE');
if ($envMode !== '') {
self::$xdebugMode = $envMode;
}
else {
self::$xdebugMode = $iniMode !== '' ? $iniMode : 'off';
}
// An empty comma-separated list is treated as mode 'off'
if (Preg::isMatch('/^,+$/', str_replace(' ', '', self::$xdebugMode))) {
self::$xdebugMode = 'off';
}
self::$xdebugActive = self::$xdebugMode !== 'off';
}