php hangs when auth_socket is set for the user
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C
- Star
- 40.4k
- Fork
- 8.1k
- Merge trung bình
- 2 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 96
Mô tả
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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện ví dụ constructor của mysqli với MySQL 8.4 trên Ubuntu 24.04, trong đó người dùng được cấu hình cho auth_socket, sau đó so sánh với caching_sha2_password và các biến thể socket và mật khẩu được đề cập rõ ràng. Theo dõi đường đi của kết nối cho đến khi xảy ra hiện tượng treo; được coi là hoàn tất khi trường hợp auth_socket có hành vi được xác định và không bị treo, hoặc có một bản sửa lỗi đã được xác nhận kèm theo regression test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- mysql, php
- Lĩnh vực
- database
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100