Dalam beberapa tahun kebelakangan ini, banyak pembangun web telah mengalami ralat "Saiz memori yang dibenarkan" semasa PHP sedang berjalan. Maksud ralat ini ialah: memori yang diminta oleh proses PHP adalah lebih besar daripada nilai memori maksimum yang ditetapkan oleh pelayan, menyebabkan proses tidak dapat meneruskan pelaksanaan. Terdapat banyak sebab untuk ini, seperti bekerja dengan sejumlah besar imej atau fail, bekerja dengan pangkalan data yang besar, atau masalah rekursif yang mudah. Isu ini boleh menyebabkan ralat "Saiz memori yang dibenarkan" berbeza semasa menjalankan skrip PHP.
Sesetengah pembangun cuba mengatasi ralat ini dengan meningkatkan saiz memori maksimum yang diperlukan oleh proses PHP pada masa ini. Walau bagaimanapun, dalam banyak kes, pendekatan ini bukanlah penyelesaian yang bijak. Walaupun ini menyelesaikan masalah jangka pendek, ia hanya satu perkhidmatan dan setiap permintaan menghasilkan proses baharu, akhirnya kehabisan ruang swap dan RAM.
Untuk menyelesaikan masalah ini dalam jangka masa yang lebih lama, kami boleh mengambil langkah berikut:
Apabila membuat pertanyaan atau mengendalikan sejumlah besar data daripada pangkalan data, adalah lebih baik untuk memproses data. dalam ketulan. Ini boleh dilakukan dengan mengubah suai pertanyaan atau pernyataan tindakan untuk memotongnya, atau dengan memuatkan ketulan data "dihalakan halaman" secara manual. Ini menjadikan PHP memerlukan kurang memori untuk dijalankan, sekali gus mengurangkan kemungkinan ralat "Saiz memori yang dibenarkan".
Menyemak kod skrip dan membuat pengoptimuman yang diperlukan boleh mengurangkan penggunaan memori masa jalan PHP dengan ketara. Apabila menulis skrip PHP, perhatikan kerumitan kod dan gunakan beberapa algoritma dan struktur data yang cekap.
Menggunakan cache untuk meningkatkan kecekapan program boleh mengurangkan keperluan memori proses PHP. Contohnya, untuk perpustakaan dan fungsi yang sering dipanggil, ia boleh dicache dalam ingatan untuk mengurangkan penggunaan sumber.
PHP memerlukan sejumlah besar sambungan untuk dijalankan, sebahagian daripadanya mungkin menjejaskan cara proses menggunakan memori. Pembangun PHP boleh mempertimbangkan untuk mengelakkan masalah ini dengan melumpuhkan sambungan yang tidak diperlukan atau mengemas kini kepada versi yang lebih baharu.
Secara lalai, PHP menggunakan fail php.ini untuk menetapkan parameter perkhidmatan, termasuk had memori maksimum. Apabila ralat "Saiz memori yang dibenarkan" berlaku pada masa jalan, ia boleh diselesaikan dengan mengubah suai fail php.ini dan melaraskan nilai parameter ini.
Secara amnya, kita harus mengambil langkah pencegahan terhadap ralat "Saiz memori yang dibenarkan". Ini memastikan kestabilan dan kebolehpercayaan skrip PHP dan meningkatkan prestasi keseluruhan aplikasi web.
Atas ialah kandungan terperinci PHP Ralat maut: Saiz memori penyelesaian yang dibenarkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!