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


13

Ho modificato ogni singolo php.inisul mio Mac (almeno tutti quelli trovati da "individuare") e non riesco ancora ad aumentare la memory_limitdirettiva per PHP.

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

Come risolverlo?

Risposte:


15

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 miei comandi PHP a riga di comando non vengono eseguiti utilizzando la loro copia di PHP. Nel mio caso si dice che il file si trova in/etc/php.ini

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

memory_limit = 256M

1
Ho dovuto pugno il file predefinito cp:cp /etc/php.ini.default /etc/php.ini
deweydb

4

Da http://drupal.org/node/66187 (drupal potrebbe essere irrilevante per le tue esigenze, ma il loro sito aveva una buona spiegazione: voleva cercarlo e dargli credito)

Per impostazione predefinita, MAMP ha il limite di memoria che uno script può utilizzare impostato su 8 MB, che è l'impostazione predefinita di PHP. Guardando il file php.ini raccomandato da PHP, questo limite di memoria è normalmente impostato a 128 MB. Per regolare questo importo, aprire il file php.ini in un editor di testo e modificare la seguente riga (approssimativamente sulla riga 232):

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

Posizioni dei file PHP.ini:

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

Anche con limiti di memoria PHP più grandi è possibile ottenere errori di timeout nel tentativo di importare database Drupal di grandi dimensioni in MySQL. Questi problemi sono discussi ampiamente altrove per quanto riguarda la cache e la cache delle viste. Generalmente la soluzione è svuotare la cache di Drupal prima di importare / esportare database da / a MySQL.


No go, quei limiti erano già a 128 MB ...
Alex Weber,

hmm. hai pro ... prova invece a modificare il modello. Apparentemente il file php.ini viene ricreato ogni volta. Istruzioni qui: documentazione.mamp.info/it/mamp-pro/how-tos/… Che lavoro? Cosa stai eseguendo sul server mamp?
dmg,

ancora niente, ogni singolo file php.ini che riesco a trovare (e anche i modelli) sono tutti con 128 MB ma php -r "phpinfo ();" | grep memory_limit restituisce ancora memory_limit => 8M => 8M
Alex Weber

2

Per me, ho fatto quanto segue:

Modifica il /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 in finder fai semplicemente 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.


le cose più semplici passano inosservate! Grazie per questa idea!
kelly johnson,

1

Dopo aver fatto casino per un po '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

Là!


1

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

Vale a dire:

php -d memory_limit=512M myScript.php 

0

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


0

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.