检查 PHP 中的 memory_limit

phpserver side programmingprogramming

‘memory_limit’ 是单个 PHP 脚本允许使用的最大服务器内存量。在比较内存阈值之前,需要转换该值。

例如 − 64M 转换为 64 * 1024 * 1024。之后进行比较并打印出结果。

<?php
$memory_limit = ini_get('memory_limit');
if (preg_match('/^(\d+)(.)$/', $memory_limit, $matches)) {
   if ($matches[2] == 'M') {
      $memory_limit = $matches[1] * 1024 * 1024; // nnnM -> nnn MB
   } else if ($matches[2] == 'K') {
      $memory_limit = $matches[1] * 1024; // nnnK -> nnn KB
   }
}
$ok = ($memory_limit >= 640 * 1024 * 1024); // 至少 64M?
echo '<phpmem>';
echo '<val>' . $memory_limit . '</val>';
echo '<ok>' . ($ok ? 1 : 0) . '</ok>';
echo '</phpmem>';

输出将是该特定环境设置的内存限制。


相关文章