Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

กำลังตรวจสอบ memory_limit ใน PHP


'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); // at least 64M?
echo '<phpmem>';
echo '<val>' . $memory_limit . '</val>';
echo '<ok>' . ($ok ? 1 : 0) . '</ok>';
echo '</phpmem>';

เอาต์พุตจะเป็นขีดจำกัดหน่วยความจำของการตั้งค่าสภาพแวดล้อมเฉพาะนั้น