MAMP PRO ile PHP için komut satırı memory_limit'i nasıl artırabilirim?


13

Mac'imdeki her birini düzenledim php.ini(en azından "locate" tarafından bulunanların hepsi) ve hala memory_limitPHP yönergesini artıramaz gibi görünüyor .

MAMP PRO kullanıyorum ve terminalde PHP komut dosyaları çalıştırıyorum.

Bunu nasıl çözebilirim?

Yanıtlar:


15

Hangi php.ini dosyasını değiştirmeniz gerektiğini tahmin etmek yerine, dosyayı bulmak için şu komutu çalıştırın:

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

MAMP PRO kullanmama rağmen, varsayılan olarak benim komut satırı PHP komutları PHP kopyaları kullanılarak yürütülmüyor. Benim durumumda dosyanın bulunduğu yer/etc/php.ini

Dosyayı bulduktan sonra, memory_limit ayarını çarpıştırmak için diğer tüm cevaplardaki talimatları izleyin:

memory_limit = 256M

1
Ben varsayılan dosya cp yumruk zorunda kaldı:cp /etc/php.ini.default /etc/php.ini
deweydb

4

Gönderen http://drupal.org/node/66187 (- sizin için kaynağına istedi ve onlara kredi vermek drupal ihtiyaçlarınız için alakasız olabilir ama onların site iyi açıklanması, vardı)

Varsayılan olarak, MAMP, bir komut dosyasının PHP varsayılanı olan 8MB olarak ayarlanabileceği bellek sınırına sahiptir. PHP'nin php.ini tarafından önerilen dosyasına bakıldığında, bu bellek sınırı normalde 128MB olarak ayarlanır. Bu miktarı ayarlamak için php.ini dosyasını bir metin düzenleyicide açın ve aşağıdaki satırı değiştirin (yaklaşık olarak 232 numaralı satırda):

memory_limit = 8M; Bir komut dosyasının tüketebileceği maksimum bellek miktarı (8 MB)

PHP.ini dosya konumları:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
MAMP PRO'da , her sunucu başlangıcında yeniden oluşturulacağı için dosyayı doğrudan değiştirmeyin. Lütfen bunun yerine uygun şablonu düzenleyin (Dosya> Şablonu düzenle> ...).

Daha büyük PHP bellek sınırları ile bile, büyük Drupal veritabanlarını MySQL'e aktarmaya çalışırken zaman aşımı hataları alabilirsiniz. Bu sorunlar, önbellek ve görünüm önbelleği bakımından başka yerlerde tartışılmaktadır. Genellikle çözüm, veritabanlarını MySQL'e / veritabanından içe / dışa aktarmadan önce Drupal önbelleğini boşaltmaktır.


Gitme, bu sınırlar zaten 128 MB'taydı ...
Alex Weber

hı. Pro'nuz var ... bunun yerine şablonu düzenlemeyi deneyin. Görünüşe göre php.ini dosyası her seferinde yeniden oluşturulur. Buradaki talimatlar: document.mamp.info/en/mamp-pro/how-tos/… Bu işe yarıyor mu? Mamp sunucusunda ne çalıştırıyorsunuz?
dmg

yine de hiçbir şey, bulabildiğim her php.ini dosyası (ve şablonları da) 128MB ama php -r "phpinfo ();" | grep memory_limit yine de memory_limit => 8M => 8M döndürüyor
Alex Weber

2

Benim için aşağıdakileri yaptım:

Düzenle /Applications/MAMP/conf/php5.4.4/php.ini

ve

php.ini.temp

olmak:

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

Sonra bulucu sadece php.ini ve php.ini.temp sadece tüm kullanıcılar için okuma yapmak. Bu şekilde MAMP, varsayılan dosyalarla üzerine yazamaz. Sunucuyu yeniden başlatın ve phpinfo'nuzu kontrol edin.


en basit şeyler fark edilmez! Bu fikir için teşekkürler!
kelly johnson

1

Bir süre uğraştıktan sonra benim için işe yarayan bir şey buldu:

# 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

Orada!


1

Bunu yapmanın hızlı ve kirli yolu, komut dosyanızı çağırırken argüman olarak ayarlamaktır.

yani:

php -d memory_limit=512M myScript.php 


0

Mamp Pro'da Opcache açıksa, doğru ayarı alamazsınız ... durdurun, Mamp Pro sunucunuzu yeniden başlatın ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.