Rumah >pembangunan bahagian belakang >masalah PHP >Analisis ringkas tentang punca dan penyelesaian kepada ralat limpahan memori PHP
Dalam pembangunan PHP harian, masalah limpahan memori sering dihadapi. Limpahan memori bermakna ruang memori yang diminta oleh atur cara melebihi julat yang boleh diperuntukkan oleh sistem kepadanya, menyebabkan atur cara ranap atau situasi tidak normal yang lain. Artikel ini akan membincangkan kandungan ralat limpahan memori PHP, dengan harapan dapat membantu pembaca.
Apabila memori yang diminta oleh program PHP melebihi had sistem atau ruang memori yang telah diperuntukkan terlebih dahulu oleh PHP, ralat limpahan memori akan dicetuskan, dan PHP akan mengeluarkan Mesej ralat berikut:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in /path/to/your/php/file.php on line 100
Mesej ralat ini terbahagi kepada dua bahagian, satu ialah ralat sintaks dan satu lagi ralat limpahan memori. Bahagian ralat tatabahasa merujuk kepada ralat tatabahasa dalam baris tertentu program PHP, seperti ralat ejaan, ralat simbol, dsb. Ralat limpahan memori menunjukkan limpahan memori telah berlaku, dan juga memberikan had memori dan baris kod yang mana fail PHP mencetuskan limpahan memori.
Dalam mesej ralat di atas, Fatal error
menunjukkan ralat yang membawa maut dan program tidak dapat meneruskan pelaksanaan Allowed memory size of 268435456 bytes exhausted
menunjukkan bahawa had memori pra-peruntukan PHP telah melebihi (di sini ialah 256M); percubaan untuk memperuntukkan Saiz memori, di sini ialah 32 bait tried to allocate 32 bytes
menunjukkan laluan fail PHP dan bilangan baris kod yang mencetuskan limpahan memori. in /path/to/your/php/file.php on line 100
dalam fail konfigurasi nginx/apache.
memory_limit
Keluarkan sumber yang tidak diperlukan dan keluarkan memori tepat pada masanya. Contohnya, gunakan fungsi unset untuk melepaskan pembolehubah yang tidak lagi digunakan, menutup sambungan pangkalan data, menutup pemegang fail, dsb. php_value memory_limit
Atas ialah kandungan terperinci Analisis ringkas tentang punca dan penyelesaian kepada ralat limpahan memori PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!