Rumah > Artikel > pembangunan bahagian belakang > ## Bagaimana untuk Membetulkan Ralat \'Tidak Dapat Memperuntukkan Memori untuk Pool\' dalam PHP?
Menyelesaikan masalah "Tidak Dapat Memperuntukkan Memori untuk Pool" dalam PHP
Ralat "Tidak dapat memperuntukkan memori untuk kumpulan" dalam PHP menunjukkan kekurangan memori dalam mekanisme cache APC. Ralat ini muncul apabila cache dalaman PHP kehabisan memori yang tersedia.
Punca Ralat
Seperti jawapan yang diberikan, ralat ini disebabkan oleh penggunaan Time To Langsung (TTL) sebanyak 0 untuk APC. Apabila cache APC kehabisan memori, ia menghapuskan semua item cache. Walaupun ini menyelesaikan ralat, ia mengurangkan kecekapan APC dengan teruk.
Penyelesaian: Tingkatkan Peruntukan Memori APC
Untuk menyelesaikan isu ini, tingkatkan memori yang diperuntukkan kepada APC dengan melaraskan arahan apc.shm_size. Jika menggunakan Memori Segmen Kongsi, semak had sistem dan tingkatkan apc.shm_segments jika perlu. Untuk memori mmap, kembangkan memori lagi dengan pilihan apc.shm_size.
Penyelesaian Alternatif
Jika peruntukan memori tidak dapat ditingkatkan, pertimbangkan untuk melaksanakan penapis untuk menghalang PHP yang kurang biasa diakses fail daripada dicache.
Elakkan Tetapkan TTL kepada 0
Jangan sekali-kali tetapkan TTL kepada 0, kerana ia menjejaskan fungsi yang dimaksudkan oleh APC. Tetapan ini menjadikan APC kurang cekap dan menafikan nilainya sebagai mekanisme cache.
Pantau dan Laraskan
Semak konfigurasi APC secara kerap menggunakan alat apc.php. Benarkan margin keselamatan 20% untuk peruntukan memori dan pantau penggunaan bagi memastikan ia kekal stabil.
Peruntukan Memori Disyorkan
Peruntukan memori lalai 32MB selalunya tidak mencukupi. Peruntukkan memori yang mencukupi untuk cache kebanyakan fail PHP. Untuk pelayan dengan kapasiti memori yang besar, pertimbangkan untuk memperuntukkan beberapa gigabait kepada APC.
Kecualikan Tapak Web Pembangunan
Untuk mengoptimumkan kecekapan caching, kecualikan tapak web pembangunan daripada cache APC.
Atas ialah kandungan terperinci ## Bagaimana untuk Membetulkan Ralat \'Tidak Dapat Memperuntukkan Memori untuk Pool\' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!