Kesalahan fatal PHP. Ukuran memori yang diizinkan habis
spiros
(@spiros)
9 bulan, 2 minggu yang lalu
Saya mendapatkan ini disertai dengan kesalahan 500 di situs (php 8)
Kesalahan fatal PHP. Ukuran memori yang diizinkan sebesar 41943040 byte habis (mencoba mengalokasikan 2621440 byte) di wp-content/plugins/better-wp-security/core/lib. php pada baris 541
Topik ini telah diubah 9 bulan, 2 minggu yang lalu oleh spiros .
Melihat 3 balasan - 1 sampai 3 (dari total 3)
nlpro
(@npro)
Hai spiro,
Apakah kesalahan itu terjadi di frontend (situs web) atau di backend (WordPress Dashboard) atau keduanya?
Silakan masuk ke Dasbor WordPress dan arahkan ke opsi menu Tools > Site Health. Klik pada tab Info
Di bawah bagian Server, periksa nilai yang dilaporkan
batas memori PHP
Batas memori PHP (hanya untuk layar admin)
Di bawah bagian Konstanta WordPress, periksa nilai yang dilaporkan
WP_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT
Berbagi nilai memori ini dengan komunitas akan membantu kami memberi Anda solusi
+++++ Untuk mencegah kebingungan, saya bukan iThemes +++++
Pemula Utasspiros
(@spiros)
Bagian belakang saja. Batas server lebih rendah, saya meningkat di php. ini untuk php 8 hingga 256M dan sekarang saya bisa melihat yang di bawah ini. Apakah mereka baik-baik saja?
Kesalahan fatal PHP "ukuran memori yang diizinkan habis" berarti skrip PHP melebihi batas memori PHP yang ditetapkan dan karenanya gagal. Hal ini dapat mengakibatkan 500 kesalahan atau fungsi yang rusak dalam halaman web
Kesalahan akan tersedia di log kesalahan Nginx atau OpenLiteSpeed situs web Anda dan akan terlihat seperti ini
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 10485760 bytes) in {script-path-here} on line 370
_
Untungnya, ini adalah perbaikan yang cepat dan mudah, dan di bawah ini kami akan membahas dua skenario yang mungkin Anda temui
Daftar isi
Memahami Batas Memori PHP
memecah memory_limit PHP seperti ini.
Ini menetapkan jumlah maksimum memori dalam byte yang diizinkan untuk dialokasikan oleh skrip. Ini membantu mencegah skrip yang ditulis dengan buruk untuk menghabiskan semua memori yang tersedia di server. Perhatikan bahwa untuk tidak memiliki batas memori, setel arahan ini ke -1
Pengaturan ini adalah per-skrip, yang berarti bahwa skrip lain pada halaman yang sama dapat dijalankan seperti biasa (karena mereka memiliki alokasi memorinya sendiri), dan hanya sebagian halaman yang akan rusak. Dalam kasus lain, ini dapat menyebabkan kesalahan HTTP 500, dan halaman mungkin gagal dimuat sama sekali
Lebih sering daripada tidak, ketika kita melihat kesalahan ini, biasanya karena plugin WordPress
Seberapa Banyak Anda Harus Meningkatkannya?
Tingkatkan memori yang cukup untuk mengatasi kesalahan yang terjadi, lalu biarkan saja di sana. Jika membutuhkan lebih dari 512MB, maka ini berpotensi bermasalah dan Anda harus mengatasi masalah ini langsung di dalam basis kode Anda (biasanya, mencari pengganti plugin)
Menetapkan batas memori yang tinggi tidak memberikan manfaat tambahan apa pun dan sebenarnya dapat mengakibatkan masalah yang mudah dihindari. Dengan menetapkan batas memori yang tinggi, Anda mengizinkan kemungkinan kode yang ditulis dengan buruk menghabiskan semua RAM Anda dan berpotensi menyebabkan masalah kinerja di SEMUA situs di server ini, dan Anda juga tidak menyadari masalah kode di masa mendatang yang mungkin muncul
1. Batas Memori PHP Situs Web Habis
GridPane menetapkan ukuran default 256MB, yang cukup banyak untuk hampir semua kasus penggunaan, bahkan WooCommerce. Ini cukup standar untuk industri
Biasanya lebih baik untuk menemukan dan memperbaiki kode yang bertanggung jawab untuk membutuhkan lebih banyak memori, tetapi Anda juga dapat dengan mudah meningkatkan batas memori PHP di dalam penyesuai situs web Anda > pengaturan PHP INI
Untuk memulai, navigasikan ke laman Situs di dalam akun Anda dan klik nama situs web untuk membuka penyesuai. Di sini, Anda akan menemukan pengaturan memori yang terletak di dalam PHP > PHP INI di sini
Masukkan batas memori baru dan tekan perbarui
Opsi Alternatif. Diatur melalui GP-CLI
Atau, Anda dapat mengatur ini melalui GP-CLI dengan perintah berikut
gp stack php -site-mem-limit {integer} {site.url}
Sebagai contoh
gp stack php -site-mem-limit 512 gridpane.com
2. Batas Memori PHP CLI Habis
Jauh lebih jarang menemukan kesalahan ini, tetapi mungkin Anda dapat menemukannya menggunakan WP-CLI pada baris perintah
Langkah 1. Periksa php. ini digunakan
Hubungkan ke server Anda melalui SSH dan jalankan yang berikut ini
wp --info
_
Langkah 2. 1 Nginx
Di Nginx, hasilnya akan terlihat seperti berikut, dan kami secara khusus mencari garis yang disorot
OS: Linux 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php8.0
PHP version: 8.0.25
php.ini used: /etc/php/8.0/cli/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 8.0.30-22 for Linux on x86_64 (Percona Server (GPL), Release '22', Revision '7e301439b65')
SQL modes:
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /root
WP-CLI packages dir: /root/.wp-cli/packages/
WP-CLI cache dir: /root/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.7.1
Versi PHP CLI saat ini di seluruh server GridPane adalah 8. 0 seperti di atas. Kami dapat meningkatkan memory_limit dengan mengedit file ini dengan
nano /etc/php/8.0/cli/php.ini
_
Langkah 2. 2 OpenLiteSpeed
Di OpenLiteSpeed, hasilnya akan terlihat seperti berikut, dan kami secara khusus mencari garis yang disorot
OS: Linux 5.4.0-122-generic #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022 x86_64
Shell: /bin/bash
PHP binary: /usr/local/lsws/lsphp80/bin/php
PHP version: 8.0.26
php.ini used: /usr/local/lsws/lsphp80/etc/php/8.0/litespeed/php.ini
MySQL binary: /usr/bin/mysql
MySQL version: mysql Ver 8.0.30-22 for Linux on x86_64 (Percona Server (GPL), Release '22', Revision '7e301439b65')
SQL modes:
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /root
WP-CLI packages dir: /root/.wp-cli/packages/
WP-CLI cache dir: /root/.wp-cli/cache
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.7.1
Versi PHP CLI saat ini di seluruh server GridPane adalah 8. 0 seperti di atas. Kami dapat meningkatkan memory_limit dengan mengedit file ini dengan
Gunakan tombol panah ke bawah untuk menggulir ke bawah ke "Batas Sumber Daya", dan Anda akan menemukan pengaturan di bawah
; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = XXX
_
Edit nilai batas (hanya angka), lalu simpan file dengan CTRL+O diikuti dengan Enter. Keluar dari nano dengan CTRL+X
Bagaimana cara memperbaiki kesalahan fatal memungkinkan ukuran memori 134217728 byte habis?
Re. Ukuran memori yang diizinkan sebesar 134217728 byte habis
. increasing this limit in your php.berkas ini . Cari memory_limit dan setel ke yang lebih tinggi seperti memory_limit = 245M.
Berapa batas memori maksimum untuk PHP?
Batas memori default adalah 256M dan ini biasanya lebih dari cukup untuk sebagian besar kebutuhan. Jika Anda perlu menaikkan batas ini, Anda harus membuat file phprc.
Bagaimana cara memperbaiki kesalahan memori di PHP?
Sederhana — tingkatkan batas memori secara terprogram di awal kode Anda , sebelum proses Anda kehabisan memori. Jika Anda melakukannya dengan cara ini, Anda dapat memberikan memori ekstra PHP hanya ketika potongan kode itu dipanggil daripada menambah batas memori untuk semua proses PHP.
Bagaimana cara meningkatkan batas memori di PHP?
Temukan php. Ini file yang digunakan oleh server web Anda. Anda dapat mengklik tautan "informasi lebih lanjut" di bagian PHP halaman status Drupal. .
Edit parameter memory_limit di php. file ini (biasanya di bagian yang disebut Resource Limits). Pastikan Anda menggunakan M untuk menentukan jumlah megabyte (bukan MB ). .