Category: Laravel

  • Configurar Supervisor para Queues en Laravel con Docker

    Configurar Supervisor para Queues en Laravel con Docker

    Si tus colas de Laravel no se procesan en Docker, aquí tienes la solución rápida. Usando Supervisor dentro de tu contenedor, podrás manejar workers de forma estable y automática.

    Modificaciones Necesarias

    1. docker/apache/Dockerfile

    (more…)
  • Google reCAPTCHA v2 en Laravel 12 con Livewire 3

    Google reCAPTCHA v2 en Laravel 12 con Livewire 3

    En este tutorial detallado, aprenderás a integrar Google reCAPTCHA v2 en tu aplicación Laravel 12 utilizando Livewire 3. Esta implementación ayudará a proteger tus formularios contra bots y spam, mejorando la seguridad de tu aplicación.

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

    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()
    
    (more…)
  • Cómo mostrar alertas en Laravel con SweetAlert2 y validaciones personalizadas

    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.

    (more…)
  • Crear, editar y eliminar con Eloquent

    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

    (more…)
  • Solución: Error en Bitbucket Pipelines al ejecutar pruebas de Laravel con PHPUnit y Paratest

    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

    (more…)