php / php/php-src

php hangs when auth_socket is set for the user

Ouverte
#19,222 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Extension: mysqli Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.1k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

The following code:

<?php
$mysqli = new mysqli("localhost", "root", "...", "mysql");

echo $mysqli->host_info . "\n";

with a local MySQL 8.4 User like this:

*************************** 6. row ***************************
                    Host: localhost
                    User: root
...
                  plugin: auth_socket

Results in php hanging until MySQL timeouts instead of connecting to MySQL

Changing the auth plugin to caching_sha2_password solves the situation. I did not test what happens when I don't set the password or explicitly use the socket.

PHP Version
PHP 8.4.1 (cli) (built: Nov 25 2024 18:04:19) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
Operating System

Ubuntu 24.04

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’exemple du constructeur mysqli avec MySQL 8.4 sur Ubuntu 24.04, avec l’utilisateur configuré pour auth_socket, puis comparez-le avec caching_sha2_password et avec les variantes de socket et de mot de passe explicitement mentionnées. Suivez le chemin de connexion jusqu’à ce que le blocage se produise ; le travail est terminé lorsque le cas auth_socket a un comportement défini qui ne se bloque pas, ou lorsqu’un correctif confirmé accompagné d’un test de régression existe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
mysql, php
Domaine
database
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.