Menyelesaikan Ralat "Saiz Memori yang Dibenarkan X Bait Habis"
Semasa menyiasat mesej ralat "Ralat maut: Saiz memori yang dibenarkan 67108864 bait keletihan," seseorang mungkin melihat percanggahan antara had memori yang dilaporkan oleh PHPEcho dan memori yang tersedia sebenar. Ini kerana konfigurasi PHP boleh ditetapkan di pelbagai lokasi, termasuk:
Dalam output PHPInfo, "Master" nilai yang dipaparkan mewakili had memori terkumpul lalai, manakala nilai "Tempatan" mencerminkan had memori aktif sebenar. Ini boleh ditindih di mana-mana lokasi yang dinyatakan di atas.
Selain itu, PHP membezakan antara operasi berasaskan baris arahan dan pelayan web. Menjalankan phpinfo() daripada baris arahan mungkin menghasilkan nilai had memori yang berbeza berbanding apabila dilaksanakan dalam skrip berasaskan web.
Untuk menyelesaikan ralat keletihan memori, kenal pasti dan ubah suai tetapan had memori yang bercanggah dalam konfigurasi yang berkenaan fail atau skrip PHP. Ini boleh ditentukan dengan menggunakan php -i | perintah grep memory_limit untuk memaparkan konfigurasi CLI.
Atas ialah kandungan terperinci Mengapa Had Memori PHP Berbeza Antara CLI dan Webserver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!