| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- /**
- * Returns all installed (loaded) PHP modules.
- *
- * Usage:
- * Web: http://host/php_modules.php -> 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;
|