Файл: testhost.php
Строк: 199
<?php
$min_php_ver = '4.3.2';
$max_execution_time = '30';
$test_result = false;
$min_memory_limit = '256';
echo testserver();
function testserver()
{
global $min_php_ver, $max_execution_time, $test_result, $min_memory_limit;
$output = '';
if (@version_compare(phpversion(), $min_php_ver, ">="))
{
$output .= '<span>версия PHP '.$min_php_ver.' <= '.phpversion().'....... <span style="font-weight: bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>Версия PHP '.$min_php_ver.' <= '.phpversion().'....... <span style="color: red; font-weight: bold;">Тест провален (не критично)</span></span><br>';
$test_result = true;
}
if (@extension_loaded('zlib'))
{
$output .= '<span>zlib расширение установлено.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>zlib расширение установлено.......<span style="color: red; font-weight:bold;">Тест провален (не будет работать бекапинг)</span></span><br>';
$test_result = true;
}
$max_execution_time_iniget = @ini_get('max_execution_time');
if ($max_execution_time_iniget >= $max_execution_time)
{
$output .= '<span>макс. время исполнения '.$max_execution_time.' сек. <= '.$max_execution_time_iniget.' сек.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>макс. время исполнения '.$max_execution_time.' сек. <= '.$max_execution_time_iniget.' сек.......<span style="font-weight:bold; color: red;">Тест провален (может не хватить времени на бекапы и сканирование больших сайтов)</span></span><br />';
$test_result = true;
}
$memory_limit_iniget = @ini_get('memory_limit');
if ($memory_limit_iniget >= $min_memory_limit)
{
$output .= '<span>рекомендуемый объем памяти '.$min_memory_limit.'M <= '.$memory_limit_iniget.' .......<span style="font-weight:bold;">Тест пройден (требуемый объем памяти не прогнозируем, т.к. некоторые скрипты будут требовать памяти равноценно размеру сайта)</span></span><br>';
}
else
{
$output .= '<span>рекомендуемый объем памяти '.$min_memory_limit.'M <= '.$memory_limit_iniget.' .......<span style="font-weight:bold; color: red;">Тест провален (требуемый объем памяти не прогнозируем, т.к. некоторые скрипты будут требовать памяти равноценно размеру сайта)</span></span><br />';
$test_result = true;
}
$result = tcp_send("santivi.com", array(
"POST /socketcheck.php HTTP/1.1rn",
"Host: santivi.comrn",
"User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36rn",
"Content-Type: application/x-www-form-urlencodedrn",
"Content-Length: ".strlen($goo_data)."rn",
"Connection: closernrn",
$goo_data."nn",
)
);
if (strpos($result, "socket_ok"))
{
$output .= '<span>взаимодействие с сервером САНТИ (открытие сокетов)....... <span style="font-weight: bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>взаимодействие с сервером САНТИ (открытие сокетов)....... <span style="color: red; font-weight: bold;">Тест провален (не будет удаленных автопилотов, проверки обновлений. Обратитесь в тех.поддержку хостинга.)</span></span><br>';
$test_result = true;
}
if (is_writable('config.php'))
{
$output .= '<span>доступ к файлу конфигурации на запись.......<span style="font-weight:bold;">Тест пройден</span></span><br />';
}
else
{
$output .= '<span>доступ к файлу конфигурации на запись.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
if (@mkdir('datas/unarchive/test', octdec('0770')))
{
$output .= '<span>создание тестовой папки распаковки.......<span style="font-weight:bold;">Тест пройден</span></span><br />';
}
else
{
$output .= '<span>создание тестовой папки распаковки.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
if (@$fp = fopen('datas/unarchive/test/test.txt', 'xb'))
{
@chmod('datas/unarchive/test/test.txt', octdec('0660'));
$output .= '<span>открывается тестовый файл для записи в файл распаковки.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>открывается тестовый файл для записи в файл распаковки.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
if (@fwrite($fp, '_stub'))
{
$output .= '<span>запись в тестовый файл.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>запись в тестовый файл.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
@fclose ($fp);
if (@$fp = fopen('datas/unarchive/test/test.txt', 'rb'))
{
$output .= '<span>открывается тестовый файл для чтения.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>открывается тестовый файл для чтения.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
$bytes = 5;
if ($buffer = @fread($fp, $bytes) and $buffer == '_stub')
{
$output .= '<span>чтение из тестового файла.......<span style="font-weight:bold;">Тест пройден</span></span><br>';
}
else
{
$output .= '<span>чтение из тестового файла.......<span style="font-weight:bold; color: red;">Тест провален (измените права папок и файлов САНТИ: файлы - 644, папки - 755)</span></span><br>';
$test_result = true;
}
@fflush($fp);
@fclose($fp);
@unlink('datas/unarchive/test/test.txt');
@rmdir('datas/unarchive/test');
return $output;
}
function tcp_send($board, $data)
{
$answer = "";
// Get IP
$ip = gethostbyname($board);
// Open socket
$fp = fsockopen($ip, 80);
if ( $fp )
{
// Set HTTP header
foreach( $data as $row )
{
fputs($fp, $row);
}
// Get an answer
while( !feof($fp) )
{
$answer .= fread($fp, 512);
}
fclose($fp);
}
return $answer;
}
?>