Simplemente no puedo resolver este.
Estoy en el plan básico de Linode 1G RAM. Intento instalar un paquete a través de Composer y no me lo permite. Mi límite de memoria está establecido en "-1" en PHP.ini
¿Hay algo más que pueda hacer para instalar esto?
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing thujohn/rss (dev-master df80a7d)
Downloading: 100%
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975
Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:975
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 975, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(975): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(853): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(818): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(752): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 975
php
laravel
laravel-4
composer-php
ericbae
fuente
fuente
Parece que te quedas sin memoria de intercambio, prueba esto
Como se menciona por @ BlackBurn027 en los comentarios a continuación, esta solución se describió aquí
fuente
Como guía de solución de problemas del compositor aquí Esto podría estar sucediendo porque el VPS se queda sin memoria y no tiene habilitado el espacio de intercambio.
Para habilitar el intercambio, puede usar, por ejemplo:
O si lo anterior no funciona, puede intentar crear un archivo de intercambio
fuente
Me he enfrentado al mismo problema. Estoy en una microinstancia gratuita de AWS que tiene menos memoria. Siempre pruebo una de las siguientes opciones y siempre funciona (antes de todo esto, compruebe si tiene instalada la última versión del compositor)
o elimine el contenido de la carpeta del proveedor e intente actualizar el compositor.
La segunda opción intenta actualizar todos los componentes, si no hay actualización, recoge el paquete de la caché, de lo contrario, recoge el paquete
Nota: Cambie el límite de memoria según su elección.
o
Crea una partición de intercambio e inténtalo. La partición de intercambio es la parte del disco duro que Linux usa como memoria virtual cuando se queda sin memoria física. Es similar al archivo de intercambio de Windows solo en lugar de usar un archivo real, Linux usa una partición en el disco duro.
Espero que esto ayude
fuente
sudo php -dmemory_limit=750M composer.phar update
, recibí este error,Could not open input file: composer.phar
por favor ayudaFácil, escriba estos comandos:
rm -rf vendor/
rm -rf composer.lock
php composer install --prefer-dist
Debería funcionar para máquinas con poca memoria
fuente
Estos son los pasos para solucionar el problema: (método de asignación de archivos SWAP rápido instantáneo utilizado)
Configuración de SWAP del servidor (Ubuntu 16.04 SWAP para corregir errores de memoria insuficiente)
Compruebe si ya ha intercambiado, memoria y tamaño de disco:
Hacer un archivo de intercambio: (cambie 1G a 4G si desea una memoria SWAP de 4GB)
Verifique el archivo de intercambio:
Asignar archivo de intercambio:
Compruebe si intercambia OK, memoria y tamaño de disco:
Adjuntar archivo de intercambio al reiniciar el sistema:
Ajuste la configuración del archivo de intercambio:
Prioridad de archivo SWAP: (0-100% => 0: No poner para intercambiar, 100: Poner SWAP y liberar la RAM)
Eliminar el inodo del caché: (100: el sistema elimina la información del inodo del caché demasiado rápido)
fuente
sudo nano /etc/sysctl.conf
, así que lo omito, luego reinicio Nginx y luego lo hagocomposer install
(anteriormente eliminé el directorio de proveedores) y está funcionando. ¡Gracias!Tuve un mismo problema en vagabundo. Lo arreglé por allcate más memoria.
fuente
vb.customize ...
usted puede hacervb.memory = 1024
.Tratar
básicamente está elevando la memoria de intercambio
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 && sudo /sbin/mkswap /var/swap.1 && sudo /sbin/swapon /var/swap.1
fuente
Trata eso:
fuente
Aquí está la solución que encontré que siempre me funciona:
fuente
Lo intenté simplemente eliminando la carpeta del proveedor y el archivo composer.lock y luego ejecuté el comando
composer clear-cache
y luegocomposer install
. Entonces funciona sin ningún error.fuente
puede usar lo siguiente para verificar su memoria libre (intercambio)
Para habilitar el intercambio, puede usar, por ejemplo:
fuente
free -m
y noté que no tenía memoria, ni siquiera en el intercambio ... luego lo hicesudo reboot
y funcionóEsto parece ser un problema recurrente con instancias de servidor de 1GB y más pequeñas. Además de intentar cerrar los procesos y modificar la configuración de intercambio, puede instalar en una máquina local y cargar.
fuente
A veces, al actualizar el compositor, resuelve el problema
Salud
fuente
composer self-update
, si alguien no tan familiarizado con el compositor debe leer esta respuesta.Prueba esto:
Este trabajo para mí en Centos 6
fuente
Aumenté el PHP
memory_limit
del predeterminado 128M a 512M y reinicié el servidor. Eso resolvió el problema.fuente
Me meto en esta situación la mayoría de las veces, así que normalmente solía seguir el paso de configurar la memoria de intercambio.
Pero ahora encontré un truco alternativo simple que funcionó para mí.
Ejecutar
composer update --no-dev
Otro quecomposer update
fuente
Resolví el mismo problema en Vagrant. Aumenté el valor de memory_limit y eliminé el caché del compositor: sudo rm -R ~ / .composer y finalmente recargué vagabundo.
fuente
tengo el mismo problema con la actualización de php composer.phar en mi hosting de 512 MB.
resuelto con php composer.phar install
fuente
Realice un intercambio y vuelva a ejecutar el comando compositor. Espero que funcione para ti.
fuente
En mi caso, probé todo lo que se mencionó anteriormente. Estaba usando Laravel y Vagrant con 4 GB de memoria y un intercambio, con el límite de memoria establecido en -1. Eliminé el proveedor y probé otras versiones de PHP. Finalmente, logré que funcione ejecutando
Y luego la instalación del compositor funcionó nuevamente como de costumbre.
fuente
Tuve un problema similar en el servidor más barato (512 MB de RAM) alojado con DigitalOcean , y también estaba ejecutando Jenkins CI en el mismo servidor. Después de que detuve la instancia de Jenkins, el comando de instalación del compositor funcionó (bueno, hasta cierto punto, ¡falló porque faltaba la extensión mcrypt además de estar ya instalada!).
Quizás si tienes otra aplicación ejecutándose en el servidor, quizás valga la pena intentar detenerla y volver a ejecutar el comando.
fuente
Deshabilite js bundling y aumente la memoria. Eso debería arreglarlo. Arreglé el mío deshabilitando js bundling.
Gracias
fuente
edite el archivo php.ini y aumente el valor de memory_limit.
Resolverá este problema.
fuente
> mmap () falló: [12] No se puede asignar memoria
Actualice la memoria en el servidor y requiera '4G' Cambie 4GB de RAM [intente cambiar el tipo de servidor o agregue más ram]
2 archivos que necesitamos editar
en comando
y editar
"memory_limit 756M”
a4G
Php ini en php 7.0
memoria_limit = 128M a 4G
#AWS #AMAZONLINUX # MAGENTO2 # PHP7.0
fuente
.htaccess
no afectacomposer
, ya que esto no se ejecuta a través de un servidor web