¿Cómo puedo aumentar el límite de memoria de la línea de comandos para PHP con MAMP PRO?

Edité cada uno php.inien mi Mac (al menos todos los encontrados por "ubicar") y todavía parece que no puedo aumentar la memory_limitdirectiva para PHP.

Estoy usando MAMP PRO y ejecutando scripts PHP en la terminal.

¿Cómo resolver esto?

Respuestas (7)

En lugar de adivinar qué php.ini necesita modificar, ejecute este comando para ubicar el archivo:

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

Aunque uso MAMP PRO, por defecto mis comandos PHP de línea de comandos no se ejecutan usando su copia de PHP. En mi caso dice que el archivo se encuentra en/etc/php.ini

Una vez que haya localizado el archivo, siga las instrucciones en todas las otras respuestas para mejorar la configuración de memory_limit:

memory_limit = 256M
Tuve que hacer cp con el puño en el archivo predeterminado:cp /etc/php.ini.default /etc/php.ini

De http://drupal.org/node/66187 (drupal puede ser irrelevante para sus necesidades, pero su sitio tenía una buena explicación: quería buscarlo para usted y darle crédito)

De forma predeterminada, MAMP tiene el límite de memoria que puede usar un script establecido en 8 MB, que es el valor predeterminado de PHP. Mirando el archivo recomendado por PHP php.ini, este límite de memoria normalmente se establece en 128 MB. Para ajustar esta cantidad, abra el archivo php.ini en un editor de texto y cambie la siguiente línea (aproximadamente en la línea 232):

límite_memoria = 8M; Cantidad máxima de memoria que puede consumir un script (8 MB)

Ubicaciones de archivos PHP.ini:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
En MAMP PRO, no modifique el archivo directamente ya que se volverá a crear en cada inicio del servidor. Edite la plantilla adecuada (menú Archivo > Editar plantilla > ...) en su lugar.

Incluso con límites de memoria PHP más grandes, puede obtener errores de tiempo de espera al intentar importar grandes bases de datos de Drupal a MySQL. Estos temas se discuten extensamente en otro lugar con respecto al caché y al caché de vistas. Generalmente, la solución es vaciar el caché de Drupal antes de importar/exportar bases de datos a/desde MySQL.

No, esos límites ya estaban en 128 MB...
mmm. tienes pro... intenta editar la plantilla en su lugar. Aparentemente, el archivo php.ini se recrea cada vez. Instrucciones aquí: documentation.mamp.info/en/mamp-pro/how-tos/… ¿Eso funciona? ¿Qué estás ejecutando en el servidor mamp?
Todavía nada, todos los archivos php.ini que puedo encontrar (y las plantillas también) tienen 128 MB pero php -r "phpinfo();" | grep memory_limit todavía devuelve memory_limit => 8M => 8M

Para mí, hice lo siguiente:

Editar el/Applications/MAMP/conf/php5.4.4/php.ini

y

php.ini.temp

ser:

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

Luego, en el buscador, simplemente haga que php.ini y php.ini.temp sean de solo lectura para todos los usuarios. De esta forma, MAMP no puede sobrescribirlo con archivos predeterminados. Reinicie el servidor y verifique su phpinfo.

¡Las cosas más simples pasan desapercibidas! ¡Gracias por esta idea!

Después de jugar un rato, encontré algo que funcionó para mí:

# 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

¡Allí!

La forma rápida y sucia de hacer esto es configurarlo como argumento al llamar a su secuencia de comandos.

Es decir:

php -d memory_limit=512M myScript.php 

si usa Homebrew , su configuración de php está en/usr/local/etc/php/<php version>

Si tiene Opcache activado en Mamp Pro, no obtendrá la configuración adecuada... deténgalo, reinicie su servidor Mamp Pro...