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 →
The end
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 →
The end
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 →
The end
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 →
The end