Mengapakah mesej ralat 'Saiz Memori Dibenarkan' PHP menunjukkan nilai yang berbeza daripada 'memory_limit' yang dilaporkan dalam phpinfo()?

Mary-Kate Olsen
Lepaskan: 2024-11-07 10:26:02
asal
178 orang telah melayarinya

Why does PHP's

Selesaikan masalah "Saiz Memori yang Dibenarkan X Bait Habis"

Apabila PHP menghadapi ralat yang menyatakan "Saiz memori yang dibenarkan bagi X bait habis, " ia menunjukkan bahawa memori yang diperuntukkan telah mencapai hadnya. Biasanya, anda boleh menyemak PHPInfo dan perhatikan bahawa had_memori yang dilaporkan adalah jauh lebih tinggi daripada nilai yang dinyatakan dalam mesej ralat. Percanggahan ini boleh dikaitkan dengan pelbagai sumber konfigurasi PHP.

Sumber Konfigurasi:

Konfigurasi PHP boleh ditetapkan melalui pelbagai saluran:

  1. Sistem induk php.ini
  2. Konfigurasi Apache (httpd.conf atau fail .conf setiap tapak)
  3. CLI & CGI php.ini (semak menggunakan 'php -i | grep memory_limit')
  4. Fail .htaccess tempatan
  5. Dalam skrip (melalui ini_set())

Output PHPInfo:

Dalam PHPInfo's output, nilai "Master" mewakili nilai lalai yang disusun semasa pemasangan PHP. Nilai "Tempatan", bagaimanapun, mencerminkan konfigurasi berkesan sebenar. Nilai ini mungkin sepadan dengan lalai atau disesuaikan di mana-mana lokasi yang disebutkan di atas.

CLI lwn. Webserver:

Selain itu, PHP menggunakan fail .ini yang berasingan untuk arahan- talian (CLI) dan operasi pelayan web. PHPInfo menjana nilai yang berbeza bergantung pada sama ada ia diakses melalui baris arahan atau skrip berasaskan web.

Penyelesaian masalah:

  1. Semak semua sumber konfigurasi yang mungkin dan kenal pasti sebarang tetapan yang bercanggah.
  2. Pastikan bahawa fail php.ini yang betul berkuat kuasa untuk konteks tertentu (CLI atau pelayan web).
  3. Semak pelarasan memori dalam skrip menggunakan ini_set().
  4. Tolak sebarang kemungkinan kebocoran memori atau penggunaan memori yang berlebihan dalam kod aplikasi.
  5. Pertimbangkan untuk meningkatkan had_memori dalam fail konfigurasi yang sesuai jika perlu.

Atas ialah kandungan terperinci Mengapakah mesej ralat 'Saiz Memori Dibenarkan' PHP menunjukkan nilai yang berbeza daripada 'memory_limit' yang dilaporkan dalam phpinfo()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!