Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Skrip PHP Saya Menunjukkan 'Saiz Memori yang Dibenarkan Habis' Apabila phpinfo() Menunjukkan Had yang Lebih Tinggi?

Mengapa Skrip PHP Saya Menunjukkan 'Saiz Memori yang Dibenarkan Habis' Apabila phpinfo() Menunjukkan Had yang Lebih Tinggi?

Susan Sarandon
Susan Sarandonasal
2024-11-06 22:36:02572semak imbas

Why is My PHP Script Showing

Menyiasat Ralat "Saiz Memori yang Dibenarkan Habis"

Mesej ralat "Saiz memori yang dibenarkan bagi X bait habis" menunjukkan bahawa PHP telah cuba untuk memperuntukkan lebih banyak memori daripada yang dibenarkan. Walaupun PHPInfo mencadangkan had memori sebanyak 128M, ralat mencadangkan had hanya 64M. Untuk menyiasat percanggahan ini, adalah penting untuk memahami hierarki konfigurasi PHP.

Konfigurasi PHP boleh ditetapkan di berbilang lokasi:

  • Sistem induk php.ini (biasanya dalam /etc)
  • Konfigurasi Apache (fail httpd.conf atau .conf)
  • CLI & CGI php.ini (gunakan 'php -i | grep memory_limit')
  • Fail .htaccess tempatan
  • Dalam skrip (melalui ini_set())

Dalam output PHPInfo, nilai "Master" ialah lalai dan nilai "Tempatan" ialah perkara yang berkuat kuasa. Nilai Tempatan mungkin ditindih di mana-mana lokasi lain.

Perhatikan bahawa PHP mempunyai fail .ini yang berasingan untuk operasi berasaskan baris arahan dan pelayan web. Menyemak phpinfo() daripada baris arahan akan menunjukkan nilai yang berbeza daripada skrip berasaskan web.

Dalam kes ini, ralat mungkin disebabkan oleh panggilan ini_set dalam fail PHP utama. Panggilan ini mungkin telah ditambahkan secara tidak sengaja dan mengatasi tetapan had memori global. Untuk menyelesaikan isu ini, cari panggilan ini_set dan alih keluar atau ubah suainya untuk memastikan ia sesuai dalam had memori yang dikehendaki.

Atas ialah kandungan terperinci Mengapa Skrip PHP Saya Menunjukkan 'Saiz Memori yang Dibenarkan Habis' Apabila phpinfo() Menunjukkan Had yang Lebih Tinggi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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