Ubah baris perintah batas memori php

Mengetahui berapa nilai batas memori PHP akan membantu dalam mengonfigurasi dan mengoptimalkan agar skrip PHP Anda berjalan secara efisien. Artikel ini akan memandu Anda tentang cara cepat mendapatkan nilai konfigurasi batas memori PHP, dan panduan lebih mendalam tentang cara kerja metode ini

Solusi cepat

1. Dengan baris perintah. Jalankan perintah ini di baris perintah SSH atau Windows

php -r "echo ini_get('memory_limit');"

Hasil perintah akan menunjukkan nilai konfigurasi batas memori

512M
_

Dalam hal ini, nilai batas memori PHP adalah 512 MB

2. Oleh phpinfo. Buat file PHP baru dengan baris ini

<?php phpinfo();

Simpan file, buka di browser, dan cari memory_limit, yang akan menunjukkan nilai pengaturan saat ini

Di atas adalah solusi cepat untuk mendapatkan nilai pengaturan batas memori PHP. Untuk mengetahui detail lebih lanjut tentang batas memori PHP, dan proses untuk mendapatkan nilainya, Anda dapat melanjutkan artikel di bagian bawah

Apa batas memori PHP dan mengapa itu diperlukan?

Skrip PHP membutuhkan memori yang ditetapkan agar dapat berjalan dengan baik. Seperti dalam. Ini membantu skrip PHP yang ditulis dengan buruk tidak akan menghabiskan terlalu banyak memori server, serta skrip PHP berbahaya yang selalu menghabiskan bandwidth server

Nilai pengaturan batas memori yang terlalu rendah dapat menyebabkan masalah pada skrip PHP yang memerlukan alokasi memori yang adil agar dapat berjalan dengan benar. Secara umum, 256MB ( 256M dalam sintaks PHP memory_limit) sudah lebih dari cukup agar sebagian besar skrip PHP dapat berjalan dengan baik.

Cara mendapatkan nilai konfigurasi batas memori PHP

Ada beberapa cara untuk mendapatkan nilai batas memori PHP, di sini kami akan memperkenalkan metode yang paling umum beserta penjelasan cara kerjanya

1. Menggunakan PHP-CLI (Antarmuka Baris Perintah PHP)

1. A. Menggunakan terminal SSH (dalam sistem operasi berbasis Linux) atau baris perintah Windows, kita dapat menggunakan perintah ini untuk mendapatkan nilai batas memori PHP dan mencetaknya ke terminal

php -r "echo ini_get('memory_limit');"

Perintah ini dapat digunakan di sistem operasi berbasis Windows dan Linux

Dalam perintah ini

  • 512M
    1 adalah perintah yang diperlukan untuk menjalankan perintah PHP di terminal
  • 512M
    _2 diperlukan untuk menjalankan perintah tanpa tag skrip (
    512M
    3), sebagaimana didefinisikan dalam PHP. Opsi baris perintah bersih
  • 512M
    _4 (seluruh perintah dalam kurung) adalah perintah untuk mencetak (
    512M
    5) nilai
    512M
    6, dimana
    512M
    7 adalah fungsi untuk mendapatkan nilai konfigurasi PHP

Hasilnya hanya akan menampilkan nilai konfigurasi, ini 512M, yaitu 512 MB dalam sintaks konfigurasi PHP

Batas_memori PHP adalah per-skrip, sama seperti batas kecepatan jalan raya adalah per-kendaraan. Misalnya, meskipun batas memori PHP mungkin ditetapkan tinggi menjadi 1GB, itu tidak berarti skrip akan menumpuk untuk menggunakan 1GB itu. Mari kita lihat sekilas pemahaman pengaturan memory_limit PHP

 

PHP memory_limit adalah pengaturan per-skrip

PHP. dokumentasi net mengatakannya seperti ini

This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server...

Sumber.

Tidak seperti pengaturan key_buffer_size atau innodb_buffer_pool MySQL, pengaturan memory_limit PHP bukanlah ruang penyimpanan tempat beberapa skrip PHP dikumpulkan atau dikembangkan di dalamnya. Sebaliknya, ini adalah batas per skrip. Batas_memori PHP adalah jumlah maksimum memori server yang diizinkan untuk digunakan oleh satu skrip PHP. Saat diblokir, keluaran kesalahan yang dihasilkan terlihat seperti ini

Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script

atau seperti ini

PHP Fatal error: Out of memory (allocated x) (tried to allocate x bytes) in /path/to/php/script

Jadi, misalnya, jika dua atau lebih skrip diminta secara bersamaan, masing-masing skrip sepenuhnya independen satu sama lain. Mereka tidak berbagi pengaturan memory_limit. Ingat, PHP tidak dirancang untuk dan tidak mendukung multithreading. Jadi, jika lima (5) skrip PHP secara bersamaan menggunakan masing-masing 100MB, maka total penggunaan memori PHP adalah 500MB, dan batas memori PHP sebesar 128M tidak akan tercapai.

Yang mengatakan, untuk skrip yang meminta skrip PHP lain sebaris menggunakan wajib, sertakan, atau sertakan_sekali, batas ini kemudian diwariskan dan dibagikan oleh semua skrip yang disertakan yang bergantung pada skrip induk

“Pernyataan sertakan mengambil semua teks/kode/markup yang ada di file yang ditentukan dan menyalinnya ke dalam file yang menggunakan pernyataan sertakan. Fungsi require() identik dengan include(), kecuali bahwa ia menangani error secara berbeda. Jika terjadi kesalahan, fungsi include() menghasilkan peringatan, tetapi skrip akan melanjutkan eksekusi. Memerlukan() menghasilkan kesalahan fatal, dan skrip akan berhenti. ” – W3schools

“Pernyataan require_once() identik dengan require() kecuali PHP akan memeriksa apakah file tersebut telah disertakan, dan jika demikian, jangan sertakan (require) lagi. ” – php. bersih

Ubah baris perintah batas memori php

Batas_memori PHP adalah per-skrip, sama seperti batas kecepatan jalan raya adalah per-kendaraan

Sekarang mengenai contoh asli yang disebutkan di awal. Pengaturan yang lebih rendah dari 128M selalu lebih baik karena jika skrip PHP mencoba menggunakan lebih dari 128M, skrip tersebut sekarang akan mengembalikan batas memori melebihi kesalahan. Dalam masalah di atas, bukan itu masalahnya, jadi terlepas dari pengaturan 128M atau 1G memory_limit, ini hanya berlaku jika ada skrip yang tidak efisien

Untungnya, pengaturan memory_limit PHP akan memblokir kode yang tidak efisien, yang kemudian mengingatkan Anda untuk mengoptimalkan kode Anda. Sampai diperbaiki, Anda mungkin ingin meningkatkan sementara PHP memory_limit untuk menghindari aplikasi web Anda menjadi tidak dapat digunakan karena kesalahan kehabisan memori PHP

Jika Anda tidak memiliki memori yang tersedia di server Anda, terkadang Anda akan dihadapkan pada keputusan apakah akan meningkatkan memory_limit PHP untuk memenuhi persyaratan skrip atau untuk mengoptimalkan kode Anda. Akan lebih baik jika Anda selalu mengoptimalkan sebagai opsi pilihan bila memungkinkan. Juga, Anda dapat meningkatkan batas memori PHP untuk situs web tertentu. Salah satu metodenya adalah dengan menempatkan php. ini di webroot situs. Anda bahkan dapat menetapkan batas untuk nama skrip tertentu. php. Misalnya menggunakan ini_set('memory_limit','256MB')

 

Cara meningkatkan PHP memory_limit

Untuk menambah pengaturan batas memori PHP, edit file PHP.php Anda. file ini. Tingkatkan nilai default (contoh. Jumlah maksimum memori yang dapat digunakan skrip = 128MB) dari garis batas memori PHP di php. ini

memory_limit = 256M

Atau, Anda dapat mengedit Anda. htaccess (Tidak disarankan. Lihat. Performa Apache. Cacat. htaccess)

php_value memory_limit 256M

Jika Anda tidak memiliki akses ke file-file ini atau kurang pengalaman untuk melakukan perubahan ini, Anda dapat menghubungi host web Anda dan meminta mereka untuk menambah batas memori PHP Anda

Bagaimana cara mengubah 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 ). .
Mulai ulang Apache

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.

Di mana saya bisa melihat batas memori PHP?

php adalah salah satu file paling penting di situs WordPress. Ini adalah file konfigurasi situs WordPress. Untuk batas memori, Anda dapat menemukan variabel bernama WP_MEMORY_LIMIT di config . Umumnya, nilai ini adalah 32M.

Bagaimana cara meningkatkan batas memori server saya?

file ini di server Anda, ikuti langkah-langkah ini. .
Buka php.ini. file ini
Cari teks berikut. "memory_limit"
Tingkatkan nilai ini menjadi 64MB seperti yang ditunjukkan di bawah ini