Come posso aumentare la riga di comando memory_limit per PHP con MAMP PRO?

12

Ho modificato ogni singolo php.ini sul mio Mac (almeno tutti quelli trovati da "locate") e non riesco ancora ad aumentare la direttiva memory_limit per PHP.

Sto usando MAMP PRO e sto eseguendo script PHP nel terminale.

Come risolvere questo?

    
posta Alex Weber 21.11.2011 - 03:52
fonte

7 risposte

1

Dopo aver fatto un po 'di casino, ho trovato qualcosa che ha funzionato per me:

# 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

    
risposta data 27.11.2011 - 23:47
fonte
14

Invece di indovinare quale php.ini devi modificare, esegui questo comando per individuare il file:

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

Anche se utilizzo MAMP PRO, per impostazione predefinita i comandi PHP della riga di comando non vengono eseguiti utilizzando la loro copia di PHP. Nel mio caso dice che il file si trova in /etc/php.ini

Una volta individuato il file, segui le istruzioni su tutte le altre risposte per contrastare l'impostazione memory_limit:

memory_limit = 256M
    
risposta data 28.10.2012 - 00:49
fonte
4

Da link (drupal potrebbe essere irrilevante per le tue esigenze, ma il loro sito aveva una buona spiegazione - volevi cercarlo per te e dargli credito)

Per impostazione predefinita, MAMP ha il limite di memoria che uno script può utilizzare impostato su 8 MB, che è il valore predefinito di PHP. Guardando il file php.ini raccomandato da PHP, questo limite di memoria è normalmente impostato a 128 MB. Per regolare questa quantità, apri il file php.ini in un editor di testo e modifica la seguente riga (circa sulla linea 232):

memory_limit = 8M; La quantità massima di memoria che uno script può consumare (8 MB)

Ubicazioni dei file PHP.ini:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
In MAMP PRO, non modificare direttamente il file poiché verrà ricreato ad ogni avvio del server. Modifica il modello appropriato (menu File > Modifica modello > ...).

Anche con limiti di memoria PHP più ampi puoi ottenere errori di timeout cercando di importare grandi database Drupal in MySQL. Questi problemi sono discussi in modo approfondito altrove per quanto riguarda la cache di cache e visualizzazioni. Generalmente la soluzione è svuotare la cache Drupal prima di importare / esportare database da / verso MySQL.

    
risposta data 21.11.2011 - 03:59
fonte
2

Per quanto mi riguarda, ho fatto quanto segue:

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

e

php.ini.temp

essere:

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

Quindi nel Finder basta fare in modo che php.ini e php.ini.temp leggano solo per tutti gli utenti. In questo modo, MAMP non può sovrascriverlo con i file predefiniti. Riavvia il server e controlla il tuo phpinfo.

    
risposta data 17.08.2012 - 11:54
fonte
1

Il modo rapido e sporco per farlo è impostarlo come argomento quando si chiama lo script.

Ie:

php -d memory_limit=512M myScript.php 
    
risposta data 07.12.2016 - 16:52
fonte
0

se usi Homebrew , le tue impostazioni php sono a /usr/local/etc/php/<php version>

    
risposta data 02.05.2014 - 21:34
fonte
0

Se hai Opcache attivo in Mamp Pro, non otterrai le impostazioni corrette ... fermalo, riavvia il tuo server Mamp Pro ...

    
risposta data 09.07.2018 - 21:13
fonte

Leggi altre domande sui tag