Persyaratan Sistem Magento2 Batas Memori PHP


16

Apa persyaratan sistem Magento 2 mengenai batas memori PHP ( Batas Sumber Daya:)memory_limit ?

Saya memiliki masalah untuk menemukan informasi ini dalam Persyaratan Sistem meskipun kandidat rilis kedua telah diusir.


Ketika sistem dengan 2048M untuk memory_limit ditinjau, komentar dari pengulas adalah "For vanilla Magento 1024M direkomendasikan". Ini ca. Pertengahan Oktober 2015.
hakre

Jawaban:


14

Persyaratan sistem resmi (atau lebih tepatnya: rekomendasi) adalah:

Tingkatkan batas memori PHP hingga setidaknya 768MB untuk operasi normal atau 2GB untuk pengujian.

Sumber: Rekomendasi untuk CentOS dan Ubuntu

Saya hanya akan meningkatkannya ke nilai yang lebih tinggi jika Anda mengalami masalah di mana batas memori dipukul. Kemudian debug dan perbaiki masalah ini, dan atur batas memori kembali ke normal ketika berhasil.


Pekerjaan cron saya tidak berfungsi walaupun saya membatasi memori hingga 768 MB
Vasilii Burlacu

2
Begitu? Apa jawaban yang Anda harapkan dari ini?
Fabian Schmengler

1
Saya tidak mengharapkan jawaban untuk itu, saya hanya memberi tahu bahwa cron tidak berjalan bahkan dengan 768M. Itu dia. Ini mungkin bermanfaat bagi orang lain yang membaca halaman ini.
Vasilii Burlacu

OKE, maaf untuk kesalahpahaman. Tetapi tentu saja ini tergantung pada apa yang dilakukan cron. Mungkin ada ekstensi yang terlibat yang perlu dioptimalkan.
Fabian Schmengler

3

Sebenarnya memory_limit sepenuhnya terserah Anda, Anda harus melihat bagaimana aplikasi Anda berperilaku. Jangan bingung dengan angka besar. Setiap skrip harus bekerja secepat mungkin dan membutuhkan tidak lebih dari 3-4 kali memori per prosesnya, yaitu 60MB x 4 = ~ 300MB rata-rata. Menurut opini saya

768mb hanyalah tindakan pencegahan, sehingga server Anda tidak akan meleleh atau menjadi tidak responsif.

Dalam beberapa keadaan mungkin melampaui, jadi Anda harus men-debug kasus ini. konfigurasikan basis data dan tumpukan web Anda.


Batas memori PHP dikonfigurasi per proses. Juga banyak jawaban Anda kedengarannya seperti spekulasi. Dan kalimat pertama adalah benar hanya untuk kasus bahwa saya yang dapat mengkonfigurasinya, tetapi tidak terserah saya terlepas dari kasus yang dengan katakanlah konfigurasi default 128M Magento akan menolak untuk bekerja. Sudahkah Anda memverifikasi nomor konkret 768M yang Anda berikan dalam jawaban bahwa ia berfungsi? Di mana spesifikasi berdasarkan perhitungan Anda, dapatkah Anda merujuknya dengan hyperlink dan mengutip bagian yang mendasarinya? Bagaimana cara menambahkan jawaban yang diberikan?
hakre

Anda tidak mengerti - ini akan bekerja dengan nilai default, Anda bahkan dapat mengaturnya -1hanya tergantung pada kode magento Anda dan konfigurasi stack. Anda harus datang sendiri ke sini, untuk menemukan batas yang tepat.
MagenX

Maaf, tetapi saya belum bertanya tentang cara mengkonfigurasi atau mengubah batas memori PHP. Saya sangat menyadarinya dan bagaimana cara kerjanya. Saya bertanya tentang apa yang ditentukan vendor perangkat lunak Magento Commerce Versi 2 sebagai batas memori. Jika Anda menetapkan ke -1 sebagai contoh tetapi sistem yang Anda gunakan untuk menjalankan Magento 2 misalnya hanya memiliki 128 MB, sistem itu tentu saja tidak akan sesuai dengan persyaratan sistem. Meskipun Anda menetapkan batas memori PHP ke -1. Poin yang dipertanyakan di sini adalah meminta referensi. Dalam jawaban Anda, Anda tidak memberikan referensi khusus Magento 2.
hakre

saya memberi Anda penjelasan, nilai ini tidak konstan atau diberikan tepat hingga satu byte. lagi pula jika Anda perlu mengkonfirmasi persyaratan sistem Anda harus menulis untuk dukungan magento.
MagenX

2

Magento 2 membatasi penggunaan memorinya hingga 768M dalam file .htaccess utama: https://github.com/magento/magento2/blob/2335247d4ae2dc1e0728ee73022b0a244ccd7f4c/.htaccess#L40
Ini adalah batas PHP-only untuk permintaan HTTP tunggal. Jika toko Anda perlu melayani 10 permintaan HTTP secara bersamaan maka Anda memerlukan hingga 10 * 768M = 7680M memori hanya untuk penerjemah PHP (pada kenyataannya itu jauh lebih rendah karena penggunaan cache, tetapi ada beberapa tugas intensif memori seperti kompilasi, pengindeksan kembali, beberapa integrasi sistem ke-3 yang kadang-kadang menonaktifkan batas memorinya dan menggunakan banyak memori).
Anda juga memerlukan memori untuk lingkungan perangkat lunak lain: MySQL, server web, perangkat lunak surat, sistem operasi, dan sebagainya.


1
10 HTTP permintaan secara bersamaan maka Anda perlu hingga 10 * 768M = 7680M WHOA ... apa hari Sabtu pagi ... jika aplikasi Anda pernah mengambil banyak memori, baik, maka saya tidak akan begitu yakin tentang kualitas ekstensi. ..
MagenX

apakah Anda pernah membaca manual itu ??? php.net/manual/en/ini.core.php#ini.memory-limit
MagenX
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.