Edité cada uno php.ini
en mi Mac (al menos todos los encontrados por "ubicar") y todavía parece que no puedo aumentar la memory_limit
directiva para PHP.
Estoy usando MAMP PRO y ejecutando scripts PHP en la terminal.
¿Cómo resolver esto?
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
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.
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.
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...
deweydb
cp /etc/php.ini.default /etc/php.ini