Ho modificato ogni singolo php.ini
sul mio Mac (almeno tutti quelli trovati da "individuare") e non riesco ancora ad aumentare la memory_limit
direttiva per PHP.
Sto usando MAMP PRO e sto eseguendo script PHP nel terminale.
Come risolverlo?
Ho modificato ogni singolo php.ini
sul mio Mac (almeno tutti quelli trovati da "individuare") e non riesco ancora ad aumentare la memory_limit
direttiva per PHP.
Sto usando MAMP PRO e sto eseguendo script PHP nel terminale.
Come risolverlo?
Risposte:
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
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.
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.
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à!
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
Se hai Opcache attivo in Mamp Pro, non otterrai le impostazioni corrette ... fermalo, riavvia il tuo server Mamp Pro ...
cp /etc/php.ini.default /etc/php.ini