array_has_needle( $server_software, 'nginx' ); if ( $is_nginx ) { return 'nginx'; } $is_apache = $this->array_has_needle( $server_software, 'apache' ); if ( $is_apache ) { return 'apache'; } return ''; } public function get_memory_limit() { if ( function_exists( 'ini_get' ) ) { $memory_limit = ini_get( 'memory_limit' ); } else { // Sensible default. $memory_limit = '128M'; } if ( ! $memory_limit || - 1 === $memory_limit ) { // Unlimited, set to 32GB. $memory_limit = '32000M'; } return intval( $memory_limit ) * 1024 * 1024; } public function get_memory_usage() { return memory_get_usage( true ); } private function array_has_needle( $array, $needle ) { foreach ( $array as $item ) { if ( strpos( $item, $needle ) !== false ) { return true; } } return false; } public function get_mysql_version() { if ( ! $this->mysql_version ) { global $wpdb; /** * MariaDB version prefix 5.5.5- is not stripped when using $wpdb->db_version() to get the DB version: * https://github.com/php/php-src/issues/7972 */ $this->mysql_version = $wpdb->get_var( 'SELECT VERSION()' ); } return $this->mysql_version; } public function get_max_execution_time() { return (int) ini_get( 'max_execution_time' ); } public function get_user_agent() { return ! empty( $_SERVER['HTTP_USER_AGENT'] ) ? wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) : ''; } }