Ejemplo n.º 1
0
 /**
  * Checks the actual memory limit.
  * @return array
  * @static
  * @final
  */
 public static final function ActualMemoryLimit()
 {
     if (FileSystem::FileDeletion() === false) {
         return false;
     }
     if (file_exists("{$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php")) {
         @unlink("{$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php");
     }
     $file = @fopen("{$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php", 'wb');
     @fputs($file, "<?php\n" . "if (function_exists('pcntl_fork') === false || function_exists('shm_attach') === false) {\n" . "    exit();\n" . "}\n\n" . "\$shmId = shm_attach(ftok(__FILE__, 'A'));\n" . "\$pid = @pcntl_fork();\n\n" . "if (!\$pid) {\n" . "    ini_set('display_errors', false);\n" . "    error_reporting(-1);\n\n" . "    \$memory = (int) '" . reset(Server::MemoryLimit()) . "';\n\n" . "    for (\$i = 1; \$i <= \$memory * 2; \$i++) {\n" . "        \$a[] = @str_repeat(chr(\$i), 1024 * 1024);\n" . "        shm_put_var(\$shmId, 1, \$i);\n" . "    }\n" . "    exit();\n" . "}\n\n" . "\$actual = 0;\n" . "while (true) {\n" . "    if (\$actual === @shm_get_var(\$shmId, 1)) {\n" . "        shm_remove(\$shmId);\n" . "        echo \$actual;\n" . "        break;\n" . "    } elseif (@shm_has_var(\$shmId, 1) && \$actual < @shm_get_var(\$shmId, 1)) {\n" . "        \$actual = @shm_get_var(\$shmId, 1);\n" . "    }\n" . "    time_nanosleep(0, 250000000);\n" . "}\n" . '?>');
     @fclose($file);
     @exec("php {$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php", $out);
     if (file_exists("{$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php")) {
         @unlink("{$_SERVER['DOCUMENT_ROOT']}/test_actual_memory.php");
     }
     if (isset($out[0]) && $out[0] > 0) {
         return array('value' => reset($out), 'postfix' => 'Mb');
     } else {
         return false;
     }
 }
Ejemplo n.º 2
0
$b->add('Posix', Server::Posix(), null, null, 'Checking posix.');
$b->add('Pcntl', Server::Pcntl(), null, null, 'Checking pcntl.');
$b->add('Email Sending', Server::EmailSending(), null, null, 'Checking Messages.');
$b->add('Mcrypt', Server::Mcrypt(), null, null, 'Checking mcrypt.');
$b->add('Sockets', Server::Sockets(), null, null, 'Checking sockets.');
$b->add('PHP Regex', Server::PHPRegex(), null, null, 'Checking php regex.');
$b->add('Perl Regex', Server::PerlRegex(), null, null, 'Checking perl regex.');
$b->add('Zlib', Server::Zlib(), null, null, 'Checking zlib.');
$b->add('GDlib', Server::GDlib(), null, null, 'Checking gdlib.');
$b->add('Free Type', Server::FreeType(), null, null, 'Checking free type.');
$b->add('Mbstring', Server::Mbstring(), null, null, 'Checking mbstring.');
$b->add('PDO', Server::PDO(), null, null, 'Checking PDO');
$b->add('SimpleXML', Server::SimpleXML(), null, null, 'Checking SimpleXML');
$b->add('DOMDocument', Server::DOMDocument(), null, null, 'Checking DOMDocument');
$b->add('Curl', Server::Curl(), null, null, 'Checking Curl');
$b->add('Memory Limit', Server::MemoryLimit(), null, null, 'Checking Memory Limit');
$b->add('Max Execution Time', Server::MaxExecutionTime(), null, null, 'Checking Max Execution Time');
$b->add('Umask', Server::Umask(), null, null, 'Finds and returns the umask.');
$b->add('Post Max Size', Server::PostMaxSize(), null, null, 'Finds and returns the post max size.');
$b->add('Register Globals', Server::RegisterGlobals(), null, null, 'Checking Register Globals.');
$b->add('Display Errors', Server::DisplayErrors(), null, null, 'Checking Display Errors.');
$b->add('PHP File Uploads', Server::PHPFileUploads(), null, null, 'Checking PHPFileUploads.');
$b->add('Server Time', Server::ServerTime(), null, null, 'Returns the current server time.');
$b->addHeader('High Load.');
$b->add('Actual Memory Limit', HighLoad::ActualMemoryLimit(), 128, '>', 'Checks the actual memory limit.');
$b->add('Number Cpu Operations', HighLoad::NumberCpuOperations(), null, null, 'Number of operations of the CPU.');
$b->add('Number File Operations', HighLoad::NumberFileOperations(), null, null, 'Number of file operations.');
$b->add('Actual Execution Time', HighLoad::ActualExecutionTime(50), null, null, 'Checks real-time execution of the script.');
$b->add('Sending Big Emails', HighLoad::SendingBigEmails(), null, null, 'Checking the sending big emails.');
$b->add('Uploads Big File', HighLoad::UploadsBigFile(1000), null, null, 'Checking upload big files to the server.');
$b->addHeader('Http server.');