Bagaimana saya bisa meningkatkan memory_limit baris perintah untuk PHP dengan MAMP PRO?


13

Saya telah mengedit setiap tunggal php.inidi Mac saya (setidaknya semua yang ditemukan oleh "temukan") dan tampaknya masih tidak dapat meningkatkan memory_limitarahan untuk PHP.

Saya menggunakan MAMP PRO dan menjalankan skrip PHP di terminal.

Bagaimana cara mengatasinya?

Jawaban:


15

Alih-alih menebak php.ini mana yang perlu Anda ubah, jalankan perintah ini untuk mencari file:

php -r 'phpinfo();' | grep 'php.ini'

Meskipun saya menggunakan MAMP PRO, secara default perintah-perintah PHP saya tidak dieksekusi menggunakan salinan PHP-nya. Dalam kasus saya dikatakan file ditemukan di/etc/php.ini

Setelah Anda menemukan file, ikuti instruksi pada semua jawaban lain untuk menabrak pengaturan memory_limit:

memory_limit = 256M

1
Saya harus kepalan cp file default:cp /etc/php.ini.default /etc/php.ini
deweydb

4

Dari http://drupal.org/node/66187 (drupal mungkin tidak relevan dengan kebutuhan Anda, tetapi situs mereka memiliki penjelasan yang baik - ingin sumbernya untuk Anda, dan memberikan kredit kepada mereka)

Secara default, MAMP memiliki batas memori yang dapat digunakan skrip ditetapkan pada 8MB, yang merupakan standar PHP. Melihat file PHP yang direkomendasikan php.ini, batas memori ini biasanya ditetapkan pada 128MB. Untuk menyesuaikan jumlah ini, buka file php.ini dalam editor teks dan ubah baris berikut (kira-kira di baris 232):

memory_limit = 8M; Jumlah maksimum memori yang dapat digunakan oleh skrip (8MB)

Lokasi file PHP.ini:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
Di MAMP PRO, jangan ubah file secara langsung karena akan dibuat ulang di setiap permulaan server. Harap edit templat yang sesuai (menu File> Edit templat> ...) sebagai gantinya.

Bahkan dengan batas memori PHP yang lebih besar Anda bisa mendapatkan kesalahan timeout mencoba mengimpor database Drupal besar ke MySQL. Masalah-masalah ini dibahas panjang lebar di tempat lain berkenaan dengan cache dan cache views. Umumnya solusinya adalah mengosongkan cache Drupal sebelum mengimpor / mengekspor database ke / dari MySQL.


Tidak boleh, batas itu sudah di 128MB ...
Alex Weber

hmm Anda memiliki pro ... cobalah mengedit templat sebagai gantinya. Rupanya file php.ini akan dibuat ulang setiap kali. Instruksi di sini: dokumentasi.mamp.info/en/mamp-pro/how-tos/… Itu berhasil? Apa yang Anda jalankan di server mamp?
dmg

masih tidak ada, setiap file php.ini tunggal yang dapat saya temukan (dan template juga) semuanya dengan 128MB tetapi php -r "phpinfo ();" | grep memory_limit masih mengembalikan memory_limit => 8M => 8M
Alex Weber

2

Bagi saya, saya melakukan hal berikut:

Edit /Applications/MAMP/conf/php5.4.4/php.ini

dan

php.ini.temp

menjadi:

memory_limit = 128M      ; Maximum amount of memory a script may consume (8MB)

Kemudian di finder cukup buat php.ini dan php.ini.temp dibaca hanya untuk semua pengguna. Dengan cara ini, MAMP tidak dapat menimpanya dengan file default. Mulai ulang server dan periksa phpinfo Anda.


hal-hal paling sederhana tidak diperhatikan! Terima kasih atas ide ini!
kelly johnson

1

Setelah bermain-main sebentar, saya menemukan sesuatu yang bekerja untuk saya:

# backup original php.ini
sudo mv /usr/bin/php /usr/bin/php.bkp

# create a symlink from MAMP's php.ini in /usr/bin directory
# (I use 5.2, change the path for 5.3)
sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php

Sana!


1

Cara cepat dan kotor untuk melakukan ini adalah menjadikannya sebagai argumen saat memanggil skrip Anda.

Yaitu:

php -d memory_limit=512M myScript.php 

0

jika Anda menggunakan Homebrew , pengaturan php Anda di/usr/local/etc/php/<php version>


0

Jika Anda mengaktifkan Opcache di Mamp Pro, Anda tidak akan mendapatkan pengaturan yang tepat ... hentikan, restart server Mamp Pro Anda ...

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.