Exception with message proc_open

PHP Fatal error: Uncaught exception ‘ErrorException’ with message ‘proc_open(): fork failed – Cannot allocate memory’ in phar

Eso significa que composer.phar se quedó sin swap. Ahora, ¿como lo arreglamos?.

Esta es una solución para los usuarios de Ubuntu 14.04 y similares, en mi caso tengo una pequeña partición para el manejo de swap, por eso suceden este tipo de errores. Esta solución te va a permitir añadir ese extra de swap que necesitas sin modificar mucho.

Verifica que tienes espacio suficiente en el disco

Antes de hacer cualquier cosa, asegúrate que tengas espacio disponible:

Crear un archivo Swap

Ahora que tienes suficiente espacio en el disco para trabajar, vamos a crear un archivo llamado swapfile en la raíz del disco  (/). El archivo debe reservar la cantidad de espacio que queremos usar para nuestra swap.

Aquí viene la magia

Hay 2 formas de configurar esta swap, la forma tradicional reservando y creando una partición en el disco, y la forma rápida donde vamos a usar el programa fallocate. Este comando crea un archivo con un tamaño preasignado instantáneamente, sin tener que escribir mucho.

Vamos a crear un archivo de 4 Gigabytes:

La creación de este archivo es casi inmediato. Podemos confirmar que la cantidad de espacio fue reservado efectivamente.

Habilitando el archivo Swap

Ahora que el archivo está creado, debemos indicarle a nuestro sistema que ese archivo tiene el propósito de ser usado para Swap. Antes de hacer eso, debemos añadirle permisos para que solo pueda ser accedido por root. Permitir que otros usuarios puedan leer o escribir en el archivo sería un riesgo de seguridad enorme.

Verifica que el archivo tiene los permisos correctos:

Ahora nuestro archivo es mas seguro y podemos decirle al sistema que lo configure para swap.

Ahora nuestro archivo esta listo para ser usado como swap y podemos habilitarlo.

Verificamos que el procedimiento fue satisfactorio chequeando que nuestro sistema tiene mayor espacio de swap ahora:

Nuestro swap fue configurado y aumentado correctamente y nuestro sistema puede comenzar a usarlo si es necesario.

Hasta aquí todo marcha bien, podemos dejar ese archivo swap solo para momentos que así se requieran o podemos usarlo permanentemente configurando añadiendo en el /etc/fstab.

¡Hasta un próximo post!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *