Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Skrip PHP Saya Mencecah Ralat 'Saiz Memori yang Dibenarkan' Walaupun PHPInfo Menunjukkan Memori yang Cukup?

Mengapa Skrip PHP Saya Mencecah Ralat 'Saiz Memori yang Dibenarkan' Walaupun PHPInfo Menunjukkan Memori yang Cukup?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 05:53:02620semak imbas

Why Is My PHP Script Hitting the

Memahami Ralat "Saiz Memori yang Dibenarkan X Bait Habis"

Ralat "Saiz memori yang dibenarkan bagi X bait habis" yang terkenal dalam PHP sering membuat pembangun bingung, terutamanya apabila PHPInfo menunjukkan had memori yang kelihatan mencukupi. Untuk membongkar misteri ini, mari kita selidiki kemungkinan penyebabnya.

Berbilang Konfigurasi PHP

Had ingatan PHP boleh dikonfigurasikan di pelbagai lokasi:

  • Sistem induk php.ini
  • Konfigurasi Apache
  • CLI/CGI's php.ini
  • .htaccess files
  • Kod menggunakan ini_set()

Output PHPInfo

PHPInfo memaparkan dua nilai untuk memory_limit: "Master" dan "Local." Nilai "Induk" mewakili had terkumpul lalai, manakala nilai "Tempatan" mencerminkan had berkesan sebenar. Jika nilai "Tempatan" berbeza daripada nilai "Induk", pengubahsuaian telah dibuat di salah satu lokasi konfigurasi yang dinyatakan di atas.

CLI lwn. Webserver

PHP lazimnya menggunakan fail .ini yang berasingan untuk operasi baris arahan (CLI) dan berasaskan pelayan web. Menyemak PHPInfo daripada CLI akan menghasilkan nilai had memori yang berbeza daripada menyemaknya dalam skrip berasaskan web.

Menyelesaikan masalah

Untuk mendiagnosis ralat "Saiz memori yang dibenarkan", pertimbangkan langkah penyelesaian masalah berikut:

  • Semak nilai "Local" PHPInfo untuk memory_limit untuk mengenal pasti had berkesan sebenar.
  • Semak fail konfigurasi Apache dan fail .htaccess untuk mencari sebarang memory_limit mengatasi.
  • Jika had memori diubah suai melalui ini_set() dalam kod, alih keluar panggilan atau laraskan parameter memory_limit.
  • Pastikan bahawa baris arahan dan operasi pelayan web menggunakan . ini dan konfigurasi had memori.

Atas ialah kandungan terperinci Mengapa Skrip PHP Saya Mencecah Ralat 'Saiz Memori yang Dibenarkan' Walaupun PHPInfo Menunjukkan Memori yang Cukup?. 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