Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

461
Visualizações
SQLSTATE[HY000]: Error general: 1835 Paquete de comunicación con formato incorrecto en LARAVEL

De repente tengo

SQLSTATE[HY000]: Error general: 1835 Paquete de comunicación con formato incorrecto (SQL: seleccione * de tb_users donde (nombre de username = 121211) límite 1)

en Laravel.

Ya verifiqué esto: MySQL: ERROR 2027 (HY000): Paquete mal formado , pero parece un caso diferente.

  1. Inicié sesión con éxito en MySQL después de iniciar sesión previamente usando SSH (usando: mysql -u -p).
  2. Inicié sesión con éxito en MySQL directamente desde una PC remota (usando: mysql -h [IP] -u -p).

Pero mi Laravel recibió el error que mencioné antes. ¿Alguna experiencia en esto?

over 4 years ago · Santiago Trujillo
16 Respostas
Responde à pergunta

0

Encontré la solución. No sé si es permanente o temporal:

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => false, 'engine' => null, **'options' => [PDO::ATTR_EMULATE_PREPARES => true]** ],

Asegúrate de eso

'opciones' => [PDO::ATTR_EMULATE_PREPARES => verdadero]

existe en la conexión mysql.

over 4 years ago · Santiago Trujillo Relatório

0

También me encontré con este problema después de que mariadb se actualizara durante la noche. La degradación de mariadb solucionó el problema para mí.

https://support.cpanel.net/hc/en-us/articles/360056772334

over 4 years ago · Santiago Trujillo Relatório

0

Todas mis aplicaciones de Laravel que ejecutan PHP 7.2 tenían este error, pero las que ejecutaban PHP 7.3 no. Así que cambié la versión de PHP a 7.3 y el problema se solucionó. (Ejecutando Laravel 7)

over 4 years ago · Santiago Trujillo Relatório

0

Después de muchas soluciones, probé hoy, estas son las soluciones que obtuve

1- actualice a php 7.3 o 7.4
(muchos sitios web estarán inactivos después de las actualizaciones de php)

2- degradar a la versión menor (mariadb 10.4.16 a 10.4.15)

 yum downgrade MariaDB-server MariaDB-common MariaDB-shared MariaDB-client MariaDB-compat MariaDB-devel

de todos modos, este problema se abrió como un error para la actualización de anoche de Mariadb y no impulsaron ninguna solución por ahora, la solución anterior es solo las 2 formas de resolver el problema, funciona conmigo en la degradación de mariadb de 10.4.16 a 10.4.15 ( rebaja menor)

over 4 years ago · Santiago Trujillo Relatório

0

Este problema comenzó a suceder para muchas personas después de la reciente actualización de MariaDB ayer después de actualizar MariaDB a v10.3.26 (y 10.2.35). Este problema ya se aborda aquí: https://jira.mariadb.org/browse/MDEV-24121

A partir de ahora, estas son las únicas soluciones conocidas:

1. Actualice su PHP a 7.3: parece que estos errores se muestran en sitios que usan php < 7.3. Por lo tanto, actualizar el PHP de su sitio a la versión 7.3 o 7.4 debería resolver el problema.

CONTRAS: No muchas aplicaciones pueden actualizarse fácilmente a php 7.3 así como así. A veces, es posible que deba actualizar su plataforma, reescribir algunos códigos o verificar todas las dependencias y ver si funcionan en 7.3. Es posible que esta no sea una solución rápida para muchas aplicaciones maduras.

2. Degradación de MariaDB: esta es una solución temporal, ya que la degradación de MariaDB lo restablecerá al estado anterior.

CONTRAS: La degradación de MariaDB no es algo fácil de hacer con un clic de un botón de cpanel. Es posible que necesite la ayuda de un ingeniero de redes para hacer la degradación por usted. Después de eso, es posible que también deba bloquear yum los paquetes de MariaDB para evitar que se actualicen hasta que estén parcheados.

3. Agregue 'options' => [PDO::ATTR_EMULATE_PREPARES => true] a la configuración de la base de datos: esto se sugirió en algunas respuestas que podrían resolver 1 problema pero abrir muchos otros problemas.

CONTRAS: Agregar lo anterior al archivo de configuración de la base de datos resolvió 1 problema para mí, pero también abrió muchas otras consultas que fallaban, las inserciones de la base de datos fallaban, etc. Por lo tanto, no recomendaría esta solución en absoluto.

4. Espere la actualización de MariaDB: la próxima actualización debería solucionar este problema.

CONTRAS: No sabemos cuánto tiempo llevará obtener una actualización que solucione este problema para versiones anteriores de PHP. Pueden ser incluso días y es posible que algunas aplicaciones no puedan esperar tanto tiempo.

Entonces, en general, estas son las únicas opciones que puedo ver a partir de ahora. Solo espero que haya una solución para esto pronto.

Corrección a corto plazo: De todos, degradar MariaDB parece ser la única solución temporal fácil (más o menos) para mí, considerando que mi aplicación necesita mucho trabajo para estar lista para php 7.3. Bajé MariaDB a 10.2.34 y lo bloqueé y el error ya no aparece.

Corrección a largo plazo: es mejor preparar su aplicación para php 7.3 y actualizarla para que la versión más nueva de MariaDB tampoco se queje.

over 4 years ago · Santiago Trujillo Relatório

0

La solución oficial finalmente está disponible y puede encontrar los detalles en el enlace:
https://support.cpanel.net/hc/en-us/articles/360056772334/comments/360005577354


Para solucionarlo rápidamente, simplemente conéctese a través de SSH y ejecute

 sudo /scripts/autorepair fix_mariadb_show_grants_roles

Para los usuarios que han aplicado la solución alternativa anterior que implica la degradación de MariaDB. Asegúrese de desbloquear MariaDB para asegurarse de que continúe recibiendo las actualizaciones adecuadas:

 yum versionlock clear /scripts/upcp
over 4 years ago · Santiago Trujillo Relatório

0

Actualice php 7.2 a php7.4 de la mejor manera para mí.

` sudo add-apt-repositorio ppa:ondrej/php

sudo apt actualizar

sudo apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7. 4-dev php7.4-imap php7.4-mbstring php7.4-soap php7.4-zip php7.4-bcmath -y

sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php7.4-fpm

sudo systemctl recargar apache2

sudo systemctl estado php7.4-fpm `

Reparado

over 4 years ago · Santiago Trujillo Relatório

0

Estoy en Ubuntu 20 (focal), tenga en cuenta mi repositorio, deberá cambiarlo dependiendo de si tiene 16 (xenial), 18 (bionic) o lo que sea

No me gusta la corrección de opciones en Laravel con el riesgo de que pueda dañar los datos, y no puedo actualizar PHP a 7.2+ sin mucho trabajo, así que para mí bajé una versión.

No se recomienda pasar de 10.3.26 -> 10.3.25 sin restaurar todos los datos de un volcado, pero no tuve otra opción, y parece que no sucedió nada malo.

 # stop the database service mariadb stop # list packages installed dpkg -l | grep mariadb # remove whatever you have or the install will complain about dependencies or broken packages, you need to remove all the mariadb packages apt remove mariadb-server-core-10.3 apt remove mariadb-server-10.3 apt remove mariadb-server-10.2 apt remove mariadb-server-10.1 # pin the repo to v10.3.25, remember to remove any conflicting sources you have in /etc/apt/sources.list apt-get install software-properties-common apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://archive.mariadb.org/mariadb-10.3.25/repo/ubuntu/ focal main' # install the old version apt install mariadb-server # start it back up service mariadb start
over 4 years ago · Santiago Trujillo Relatório

0

Versión de php actualizada**(7.2 a 7.3)** dentro de cpanel para mi subdominio.

Debe otorgar todos los privilegios al usuario de la base de datos seleccionado.

Funcionó para mí.

over 4 years ago · Santiago Trujillo Relatório

0

Lo que funcionó para mí fue actualizar la versión de PHP en el subdominio de 7.2 a 7.3. No cambié nada en la configuración de la base de datos como se ha sugerido en algunas respuestas.

over 4 years ago · Santiago Trujillo Relatório

0

Este mensaje de error repentino es causado por una actualización del cliente MariaDB, que parece ser incompatible con la versión PHP 7.2 de php-mysqlnd ; la versión 10.2.35 lo rompe, pero la versión 10.2.34 aún funciona. Con yum o dnf uno puede volver fácilmente a las versiones anteriores, por ejemplo. con:

 su yum history yum history undo 440

La configuración temporal enabled=0 en /etc/yum.repo.d/mariadb.repo también podría tener sentido.
Actualizar a PHP 7.3 aún podría ser la mejor opción (mientras esté disponible).

over 4 years ago · Santiago Trujillo Relatório

0

Ya está disponible una versión de emergencia de MariaDB 10.5.8, 10.4.17, 10.3.27 y 10.2.36 que se lanzó para resolver específicamente esta incompatibilidad de protocolo en versiones antiguas de PHP y PDO.

over 4 years ago · Santiago Trujillo Relatório

0

MariaDB acaba de lanzar una actualización que soluciona el problema para aquellos que no pueden ejecutar su aplicación en PHP >= 7.3, fuente: https://mariadb.org/mariadb-10-5-8-10-4-17-10-3- 27-y-10-2-36-ya-disponible/

over 4 years ago · Santiago Trujillo Relatório

0

Mariadb tiene una actualización para php 7.2 que soluciona este problema, simplemente actualice el servidor:

 sudo apt update sudo apt upgrade
over 4 years ago · Santiago Trujillo Relatório

0

Solución fácil Simplemente actualice su PHP a 7.3 Trabaje para mí en Laravel y WP

over 4 years ago · Santiago Trujillo Relatório

0

Esto puede suceder si su consulta no tiene la misma cantidad de argumentos de entrada que la matriz de argumentos que le pasa. Aquí está el código que tenía en NodeJS + MYSQL que estaba causando este problema:

 const config = getMysqlConfig(); let arguments = [arg1, arg2]; const connection = await mysql.createConnection(config.db); const result = await connection.execute('INSERT INTO mySchema.myTable(val1, val2) VALUES (?,?) ON DUPLICATE KEY UPDATE val1= val1+ ?', arguments) .catch((err) => LogError(err)); connection.end();

Debido a que solo tenía 2 valores en los arguments y, sin embargo, mi consulta esperaba 3 argumentos, se arrojó el error de malformed communication . Para mí, la solución fue solo agregar mi argumento adicional en la matriz

 let arguments = [arg1, arg2, arg3];
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda