Page 1 of 1

Benutzerdefinierter Tag für Support-Anfragen

Posted: Mon Jul 14, 2008 6:49 am
by cyberman
Bei der Beantwortung von Support-Anfragen ist es häufig hilfreich, mehr über die konkrete Installation des Fragenden zu erfahren und bestimmte Fehler nachvollziehen zu können.

Hier dazu ein Benutzerdefinierter Tag, der die Beantwortung dieser Frage erleichert:

Code: Select all

global $gCms;
$db = &$gCms->db;
$config = &$gCms->config;

echo "<b>CMS Made Simple Version:</b> " . $GLOBALS['CMS_VERSION'] . "<br /> <br />";
echo "<b>Installed Modules:</b> ";
echo "<ul>";
$query = "SELECT * FROM ".cms_db_prefix()."modules WHERE active=1";
$dbresult = $db->Execute($query);
while($row = $dbresult->FetchRow()) {
	echo "<li>" . $row['module_name'] . ": " . $row['version'] . "</li>";
} 
echo "</ul>";

echo "<b>Current PHP Version:</b> " . phpversion() . "<br /> <br />";
echo "<b>PHP Configuration:</b>";
echo "<ul>";
echo "<li>Maximum Post Size: " . ini_get('post_max_size') . "</li>";
echo "<li>Maximum Upload Size: " . ini_get('upload_max_filesize') . "</li>";
echo "<li>PHP Memory Limit: " . ini_get( 'memory_limit' ) . "</li>";

if (ini_get('safe_mode') == 1) {
        echo "<li>PHP Safe Mode: On</li>";
} else {
        echo "<li>PHP Safe Mode: Off</li>";
}
echo "<li>Maximum Execution Time: " . ini_get('max_execution_time') . " seconds</li>";
echo "<li>Session Save Path: " . session_save_path() . "</li>";

echo "</ul>";

switch($config['dbms']) 
{
    case 'postgres7': 	$v = pg_version();
			$_server_db = "<b>PostgreSQL Server Version:</b> " . $v['server_version'];
                        break;
    case 'mysql':	$v = mysql_get_server_info();
			$_server_db = "<b>MySQL Server Version:</b> " . $v;
                        break;
    case 'mysqli':      $v = mysqli_get_server_info();
			$_server_db = "<b>MySQLi Server Version:</b> " . $v;
                        break;
}

echo $_server_db . "<br /> <br />";

echo "<b>Server Software:</b> " . $_SERVER['SERVER_SOFTWARE'] . "<br />";
echo "<b>Server API:</b> " . strtoupper(PHP_SAPI) . "<br />";
echo "<b>Server OS:</b> " . PHP_OS . " v " . php_uname('r') . " on " . php_uname('m') . " architecture<br /> <br />";

clearstatcache();

echo "<b>Directory Permissions:</b>";
echo "<ul>";
echo "<li>tmp/cache - " . substr(sprintf('%o', fileperms($config['root_path'].DIRECTORY_SEPARATOR.'tmp/cache')), -4) . "</li>";
echo "<li>tmp/templates_c - " . substr(sprintf('%o', fileperms($config['root_path'].DIRECTORY_SEPARATOR.'tmp/templates_c')), -4) . "</li>";
echo "<li>uploads - " . substr(sprintf('%o', fileperms($config['root_path'].DIRECTORY_SEPARATOR.'uploads')), -4) . "</li>";
echo "<li>modules - " . substr(sprintf('%o', fileperms($config['root_path'].DIRECTORY_SEPARATOR.'modules')), -4) . "</li>";
echo "</ul>";

echo "<b>Browser:</b> " . $_SERVER['HTTP_USER_AGENT'] . "<br />";
Den Tag einfach in einer Seite aufrufen und das Ergebnis hier posten ...