Server : Apache System : Linux ls31.server.ly 3.10.0-962.3.2.lve1.5.68.el7.x86_64 #1 SMP Wed Apr 6 11:12:23 UTC 2022 x86_64 User : medchoco ( 2906) PHP Version : 8.3.16 Disable Function : mail Directory : /home/medchoco/www/wp-content/plugins/wp-optimize/webp/ |
Upload File : |
<?php if (!defined('WPO_PLUGIN_MAIN_PATH')) die('No direct access allowed'); class WPO_Server_Info { private static $_instance = null; /** * @var $_server_name Web server engine name */ private $_server_name; /** * @var $_rewrite_status Web server's URL rewrite ability */ private $_rewrite_status; /** * Setup server information */ public function __construct() { $this->set_server_name(); $this->set_rewrite_status(); } /** * Gets singleton instance * * @return object */ public static function get_instance() { if (null === self::$_instance) { self::$_instance = new self(); } return self::$_instance; } /** * Detect and set web server names */ private function set_server_name() { global $is_apache, $is_nginx, $is_iis7, $is_IIS; if ($is_apache) { $this->_server_name = 'apache'; } if ($is_iis7) { $this->_server_name = 'iis7'; } if ($is_IIS) { $this->_server_name = 'iis'; } if ($is_nginx) { $this->_server_name = 'nginx'; } } /** * Sets web server's rewrite ability */ private function set_rewrite_status() { if ('apache' === $this->_server_name) { $this->test_htaccess_capabilities(); } else { $this->_rewrite_status = false; } } /** * Test Apache/LiteSpeed server's htaccess capabilities, and sets status and info */ private function test_htaccess_capabilities() { $htc = WPO_Htaccess_Capabilities::get_instance(); if ($htc->htaccess_enabled && $htc->mod_rewrite && $htc->mod_headers && $htc->mod_mime) { $this->_rewrite_status = true; } elseif ($htc->htaccess_enabled) { $this->_rewrite_status = false; } } /** * Getter for web server name * * @return string */ public function get_server_name() { return $this->_server_name; } /** * Getter for web server's rewrite capability * * @return bool */ public function get_rewrite_status() { return $this->_rewrite_status; } }