From: Nicolas Boisselier Date: Sat, 23 Nov 2024 15:06:26 +0000 (+0000) Subject: www/dbq/dbq.php X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=ad379dda9a502fa6d1a867b3d364edc2637587b7;p=nb.git www/dbq/dbq.php --- diff --git a/www/dbq/dbq.php b/www/dbq/dbq.php index 049e6648..4c80c8c8 100644 --- a/www/dbq/dbq.php +++ b/www/dbq/dbq.php @@ -1250,6 +1250,10 @@ EOF; # NB 08.10.24 $attrs = ($this->params['action'] ? explode(',',$this->params['action']) : ['dn','objectClass']); # NB 08.10.24 $this->page($this->ldap($table,$attrs)); + } elseif ($action == 'phpinfo2') { + $this->deniedUnless($this->perm >= self::ADMIN); + $this->page($this->phpinfo2()); + } elseif ($action == 'phpinfo') { $this->deniedUnless($this->perm >= self::ADMIN); $this->page($this->phpinfo()); @@ -1321,6 +1325,60 @@ EOF; echo "_______________________________\n"; } + private function phpinfo2() { + # See: https://www.php.net/manual/en/reserved.constants.php + + $data['General']['System'] = php_uname(); + #$data['General']['Build Date'] = PHP_BINARY ; + $data['General']['Build System'] = PHP_OS; + + $prettyNames = [ + 'apache2handler' => 'Apache 2 Handler', + 'cgi-fcgi' => 'FastCGI', + 'cli' => 'Command Line Interface', + 'embed' => 'Embedded PHP', + 'fpm-fcgi' => 'FPM/FastCGI', + 'litespeed' => 'LiteSpeed Web Server', + 'phpdbg' => 'PHP Debugger', + // Add more mappings if needed + ]; + $data['General']['Server Api'] = $prettyNames[PHP_SAPI] ?? "Unknown SAPI (".PHP_SAPI.")"; + + $data['General']['Virtual Directory Support'] = (defined('PHP_VIRTUAL_DIR') and PHP_VIRTUAL_DIR) ? 'enabled' : 'disabled'; + + $data['General']['Configuration File (php.ini) Path'] = PHP_CONFIG_FILE_SCAN_DIR; + $data['General']['Loaded Configuration File'] = php_ini_loaded_file(); + #$data['General']['Scan this dir for additional .ini files'] = php_ini_scanned_files(); + + $data['General']['PHP API'] = PHP_VERSION_ID; + + #$data['General']['PHP Extension'] = ZEND_MODULE_API_NOSION_ID; + #$data['General']['Zend Extension'] = ZEND_MODULE_API_NOSION_ID; + #$data['General']['Zend Extension Build'] = zend_version(); + #$data['General']['PHP Extension Build'] = PHP_OS . (PHP_ZTS ? ', ZTS' : ', NTS'); + + $data['General']['Debug Build'] = ( defined('ZEND_DEBUG_BUILD') and ZEND_DEBUG_BUILD ) ? 'yes' : 'no'; + $data['General']['Thread Safety'] = ( defined('PHP_ZTS') and PHP_ZTS ) ? 'enabled' : 'disabled'; + $data['General']['IPv6 Support'] = ( defined('AF_INET6') and AF_INET6 ) ? 'enabled' : 'disabled'; + + #$data['General']['Zend Memory Manager'] = function_exists('zend_mem_usage') ? 'enabled' : 'disabled'; + #$data['General']['Zend Signal Handling'] = function_exists('zend_signal') ? 'enabled' : 'disabled'; + #$data['General']['DTrace Support'] = ? + + #$data['General'][''] = + $data['General']['Registered PHP Streams'] = implode(', ', stream_get_wrappers()); + $data["Registered Stream Socket Transports"] = implode(', ', stream_get_transports()); + $data["Registered Stream Filters"] = implode(', ', stream_get_filters()); + debug($data); + + + ob_start(); + phpinfo(INFO_GENERAL + INFO_CONFIGURATION + INFO_MODULES + INFO_ENVIRONMENT + INFO_VARIABLES); + $phpinfo = ob_get_contents(); + ob_end_clean(); + return $phpinfo; + } + private function phpinfo() { $lines = explode("\n",$this->phpinfoText());