PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.0.0
4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Utils / ServerVars.php
wp-staging / Framework / Utils Last commit date
Cache 1 year ago DBPermissions.php 1 year ago DataEncoder.php 1 year ago Escape.php 2 years ago Glob.php 2 years ago Hooks.php 1 year ago Math.php 1 year ago PluginInfo.php 2 years ago Sanitize.php 2 years ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 1 year ago Times.php 1 year ago Urls.php 2 years ago Version.php 1 year ago WpDefaultDirectories.php 2 years ago
ServerVars.php
68 lines
1 <?php
2
3 namespace WPStaging\Framework\Utils;
4
5 use WPStaging\Framework\Utils\Sanitize as UtilsSanitize;
6
7 class ServerVars
8 {
9 /** @var UtilsSanitize */
10 private $sanitize;
11
12 /** @var string */
13 private $serverSoftware = null;
14
15 public function __construct(UtilsSanitize $sanitize)
16 {
17 $this->sanitize = $sanitize;
18 }
19
20 /** @return string */
21 public function getServerSoftware()
22 {
23 if ($this->serverSoftware === null) {
24 $this->serverSoftware = isset($_SERVER['SERVER_SOFTWARE']) ? $this->sanitize->sanitizeString($_SERVER['SERVER_SOFTWARE']) : '';
25 }
26
27 return $this->serverSoftware;
28 }
29
30 /**
31 * @param int $seconds
32 */
33 public function setTimeLimit($seconds = 0)
34 {
35 // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.safe_modeDeprecatedRemoved
36 if (!in_array("set_time_limit", explode(',', ini_get("disable_functions")))) {
37 set_time_limit($seconds);
38 }
39 }
40
41 /**
42 * @return bool
43 */
44 public function isApache()
45 {
46 return stripos($this->getServerSoftware(), 'apache') === 0;
47 }
48
49 /**
50 * @return bool
51 */
52 public function isLitespeed()
53 {
54 return stripos($this->getServerSoftware(), 'LiteSpeed') === 0;
55 }
56
57 /**
58 * @return bool
59 */
60 public function isFunctionDisabled(string $functionName): bool {
61 $disableFunctions = array_map(function ($input) {
62 return trim($input);
63 }, explode(',', ini_get('disable_functions')));
64
65 return in_array($functionName, $disableFunctions);
66 }
67 }
68