Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa PHP Melaporkan Had Memori yang Lebih Tinggi dalam phpinfo() Daripada Saiz Sebenar yang Dibenarkan?

Mengapa PHP Melaporkan Had Memori yang Lebih Tinggi dalam phpinfo() Daripada Saiz Sebenar yang Dibenarkan?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 18:44:01283semak imbas

Why Does PHP Report a Higher Memory Limit in phpinfo() Than the Actual Allowed Size?

Had Memori Tersilap: "Saiz memori X bait yang dibenarkan habis"

Menghadapi ralat "Saiz memori yang dibenarkan 67108864 bait habis," walaupun phpinfo melaporkan had_memori sebanyak 128M, adalah perkara biasa. Mari kita selidiki sebab di sebalik percanggahan ini.

Tetapan konfigurasi PHP boleh ditetapkan di beberapa lokasi:

  • Sistem induk php.ini
  • Konfigurasi Apache (php_value)
  • CLI & CGI php.ini
  • Local .htaccess
  • In-script (ini_set())

PHPinfo memaparkan nilai "Master" sebagai lalai dan nilai "Local" sebagai konfigurasi aktif. Konfigurasi aktif boleh ditindih di mana-mana lokasi yang dinyatakan di atas.

Terutama, PHP mengekalkan fail .ini yang berasingan untuk operasi baris arahan dan pelayan web. Had memori yang dilaporkan oleh phpinfo() dalam konteks baris arahan mungkin berbeza daripada yang dilaporkan dalam skrip web.

Dalam contoh tertentu, panggilan ini_set() dalam fail php utama, tanpa diketahui pengguna , telah mengubah suai had memori, mengakibatkan mesej ralat walaupun phpinfo melaporkan nilai yang lebih tinggi.

Atas ialah kandungan terperinci Mengapa PHP Melaporkan Had Memori yang Lebih Tinggi dalam phpinfo() Daripada Saiz Sebenar yang Dibenarkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn