Page 1
Standard

Solución: Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.

Cuando trabajamos con Laravel, php artisan tinker es una herramienta fundamental para interactuar rápidamente con nuestras aplicaciones desde la línea de comandos. Sin embargo, a veces al ejecutar este comando podemos encontrarnos con errores inesperados. Uno de ellos es el siguiente:

   Psy\Exception\RuntimeException

  Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.

  at vendor/psy/psysh/src/Configuration.php:632
    628▕         $runtimeDir = $this->configPaths->runtimeDir();
    629▕
    630▕         if (!\is_dir($runtimeDir)) {
    631▕             if (!@\mkdir($runtimeDir, 0700, true)) {
  ➜ 632▕                 throw new RuntimeException(\sprintf('Unable to create PsySH runtime directory. Make sure PHP is able to write to %s in order to continue.', \dirname($runtimeDir)));
    633▕             }
    634▕         }
    635▕
    636▕         return $runtimeDir;

      +18 vendor frames

  19  artisan:35
      Illuminate\Foundation\Console\Kernel::handle()
Continue Reading →
more
Standard

Cómo mostrar alertas en Laravel con SweetAlert2 y validaciones personalizadas

En esta entrada te mostraré cómo integrar SweetAlert2 en Laravel para mostrar alertas interactivas al eliminar registros. Además, implementaremos validaciones que verifican si hay dependencias antes de eliminar, asegurando que el proceso sea seguro y controlado. Con un ejemplo práctico, veremos cómo SweetAlert2 mejora la experiencia de usuario al mostrar mensajes personalizados según el resultado de la operación.

Continue Reading →
more
Laravel Eloquent
Standard

Crear, editar y eliminar con Eloquent

Explorar la documentación de Laravel para realizar operaciones básicas como crear, editar o eliminar registros con Eloquent puede resultar un poco confuso. Por eso, en este artículo te ofrezco un resumen claro de los métodos que debes usar según el tipo de relación en tu modelo.

1. Relación Uno a Uno (One to One)

Un usuario tiene un perfil, y un perfil pertenece a un usuario.

class User extends Model
{
    public function profile()
    {
        return $this->hasOne(Profile::class);
    }
}

class Profile extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

Insertar con el método save

$profile = new Profile(['bio' => 'Mi biografía', 'twitter' => '@usuario']);
$user = User::find(1);

$user->profile()->save($profile);

Insertar con el método create

Continue Reading →
more
bitbucket-error-pipeline-phpunit
Standard

Solución: Error en Bitbucket Pipelines al ejecutar pruebas de Laravel con PHPUnit y Paratest

Al ejecutar en el pipeline los tests unitarios aparece un error de memoria

In WorkerCrashedException.php line 41:
                                                                               
  The test "PARATEST='1' TEST_TOKEN='7' UNIQUE_TEST_TOKEN='7_66f1d266ad6eb' t  
  ests/Feature/PruebasTest.php" failed.                               
                                                                               
  Exit Code: 255(Unknown error)                                                
                                                                               
  Working directory: /opt/atlassian/pipelines/agent/build                      
                                                                               
  Output:                                                                      
  ================                                                             
                                                                               
  Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to all  
  ocate 16777248 bytes) in /opt/atlassian/pipelines/agent/build/vendor/maennc  
  hen/zipstream-php/src/File.php on line 332         

La solución es agregar un elemento <ini> al archivo de configuración de PHPUnit phpunit.xml con el valor memory_limit para aumentar la asignación de memoria, en mi caso lo aumenté a 512M

Continue Reading →
more
Standard

Instalar multiples versiones de PHP en diferentes carpetas

Para evitar conflictos primero desinstalar php

sudo apt-get remove 'php*'
sudo apt-get purge 'php*'

Agregar el repositorio de ondrej/php

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update && sudo apt upgrade -y

Instalar el módulo fcgid de apache

sudo apt install libapache2-mod-fcgid -y

Instalar PHP 8.1 y 8.2

Continue Reading →
more
Standard

Crear múltiples Virtual Hosts en Apache

En un mismo servidor podemos tener varios subdominios apuntando al mismo servidor, por ejemplo:

alfa.misitio.com apuntando a /var/www/carpeta1
beta.misitio.com apuntando a /var/www/carpeta2

En el siguiente ejemplo voy a crear una carpeta para acceder cuando ingresemos a la url subdominio.misitio.com

Crear la carpeta donde va a apuntar el subdominio

mkdir /var/www/misitio
sudo chown -R www-data: /var/www/misitio
Continue Reading →
more
more
more
more
more