JSON * CLI: php php_modules.php -> JSON * php php_modules.php --plain -> one module per line */ $plain = PHP_SAPI === 'cli' ? in_array('--plain', $argv, true) : isset($_GET['plain']); $modules = get_loaded_extensions(); sort($modules, SORT_NATURAL | SORT_FLAG_CASE); if ($plain) { if (PHP_SAPI !== 'cli') { header('Content-Type: text/plain; charset=utf-8'); } echo implode(PHP_EOL, $modules), PHP_EOL; exit; } $result = [ 'php_version' => PHP_VERSION, 'sapi' => PHP_SAPI, 'count' => count($modules), 'modules' => [], ]; foreach ($modules as $module) { $version = phpversion($module); $result['modules'][$module] = ($version === false || $version === '') ? null : $version; } if (PHP_SAPI !== 'cli') { header('Content-Type: application/json; charset=utf-8'); } echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES), PHP_EOL;