PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.2
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 7 months ago DBPermissions.php 9 months ago DataEncoder.php 10 months ago DatabaseOptions.php 2 weeks ago Escape.php 9 months ago Glob.php 2 years ago Hooks.php 2 months ago Math.php 9 months ago PluginInfo.php 5 months ago Sanitize.php 2 months ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 7 months ago Times.php 5 months ago Urls.php 2 weeks 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