SQLSTATE[HY000]: General error: 1835 Malformed communication packet

laravel error

El error ‘SQLSTATE[HY000]: General error: 1835 Malformed communication packet’, que suele aparecer si nuestra APP en Laravel, trabaja con Maria DB y no soporta la nueva versión del PHP.

Como es un error de configuración, y las nuevas versiones de PHP, son algo mas dúctiles, con la creación de consultas,  debe bastarnos con modificar nuestro archivo database config, añadiendo esta línea de código:

options => [PDO::ATTR_EMULATE_PREPARES => true]

Ojo, esta solución puede tener inconvenientes, pues lo que estamos haciendo es habilitar el uso de declaraciones preparadas en la caché, lo cual puede no ser siempre conveniente.

Lo que hace esta sentencia es hacer el reemplazo de los parámetros  en la librería PDO, en vez de hacerlo en el servidor y así burla la desactualización, por lo que los errores de sintaxis en el tiempo de preparación de la consulta desaparecen, y se traspasan solo al momento de ejecución.

«Quien va en busca de montañas, no puede detenerse a recoger las piedras del camino»

Resolver error Could not open input file: artisan

laravel error

Un error común al intentar instalar Laravel es Could not open input file: artisan:

 Could not open input file: artisan

Para corregirlo correr composer install

Composer could not find a composer.json file in C:\xampp\htdocs\portfolioTo initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

Esto sucede cuando has creado un proyecto y has descargado y extraido laravel desde el repositorio en GitHub, no utilizando el comando de  Composer

composer create-project laravel/laravel your-project-name

Y esto se debe a que las dependencias que Composer maneja no están instaladas, por lo tanto la carpeta vendor que contiene a Artisan no ha sido creada.

La solución a este problema es correr el comando composer install, en la carpeta raíz  del proyecto, para ello lo que recomiendo es  borrar la carpeta de nuestro proyecto y corriendo todo el proceso de nuevo.

Artisan incorpora Laravel por defecto, por tanto si php esta correctamente instalado lo único que necesitas es navegar hasta la carpeta raíz del proyecto, o sea la carpeta dentro de la cual hallaremos  la carpeta App

cd c:\Program Files\xampp\htdocs\your-project-name

Corremos

composer global require "laravel/installer" 

el cual actualizara composer a nivel de variables de entorno generalmente en

C:/Users/nombredeusuario/AppData/Roaming/Composer

Y luego creamos nuestro proyectos ubicados en el root del servidor local

En mi caso xampp

C:\xampp\htdocs>composer create-project laravel/laravel nombre_del_proyecto

Luego pasamos al proyecto creado e iniciamos, el serve de artisan, para comprobar que funciona.

También podemos comprobar la version de composer corriendo composer -v

C:\xampp\htdocs\ nombre_del_proyecto >php artisan serve

Una vez hecho esto el comando php artisan list por ejemplo debe correr perfectamente, porque PHP, estará llamando al archivo “artisan”, que se encuentra dentro de la carpeta del proyecto

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

… lo que realmente importa no es lo que te da la vida, sino lo que haces con ello……..