Current File : /home/jeshor13/11bsouth.com/.dh-diag/dh-php-diags.php |
<?php
class PHPInfo {
public $mode = "CGI";
public $version = "unknown";
public $ini = "None";
public $scanned = array();
public $user_ini_directives = array();
public function user_directives() {
foreach ($this->scanned as $file) {
if (preg_match("/^\/home\//", $file)) {
$inifile = fopen($file, "r") or die("Unable to open $file\n");
array_push(
$this->user_ini_directives,
array_filter(
explode("\n",
fread($inifile, filesize($file))
),
"ini_filter"
)
);
fclose($inifile);
}
}
}
}
// Filter out comments and blank lines
function ini_filter($var) {
if (preg_match("/^;/", $var) or preg_match("/^\s?$/", $var)) {
return false;
}
return true;
}
$info = new PHPInfo();
//TODO figure out a smarter FPM check. We only support FPM on Nginx right now so this will work, but that might change.
// FCGI_ROLE is set to 'RESPONDER' for both FPM and FCGID, but not CGI
if (array_key_exists("SERVER_SOFTWARE", $_SERVER) and preg_match('/nginx/', $_SERVER['SERVER_SOFTWARE'])) {
$info->mode = 'FPM';
} else if (array_key_exists("FCGI_ROLE", $_SERVER) and $_SERVER['FCGI_ROLE'] == 'RESPONDER') {
$info->mode = 'FCGID';
}
$info->version = phpversion();
$info->ini = php_ini_loaded_file();
$info->scanned = str_replace("\n", "", explode(',', php_ini_scanned_files()));
$info->user_directives();
header('Content-Type: application/json');
echo json_encode($info);
//phpinfo();