Încerc să învăț PHP și configurez conexiunea la baza de date.
Pe Mysql Workbench, am creat o bază de date numită php și am creat un tabel.
Apoi am creat contul "sam"@"localhost",(folosesc desktop Ubuntu și sam
este ieșirea din cine sunt
) cu auth_socket, acordat ALL activat . , iar când apăs ctrl+alt+T
și intrare mysql
și apăsați introduce
, mă pot autentifica cu succes.
Acum am urmat https://www.php.net/manual/en/mysqli.quickstart.connections.php , și am încercat să folosesc socket, am eșuat.
2021/08/13 16:54:35 [eroare] 1363#1363: *11 FastCGI trimis în stderr: „Mesaj PHP: Avertisment PHP: mysqli::__construct(): (HY000/1698): Acces refuzat utilizatorului 'sam '@'localhost' în /var/www/php/my2.php pe linia 3PHP mesaj: PHP Avertisment: main(): Nu s-a putut prelua mysqli în /var/www/php/my2.php pe linia 5" în timpul citirii antet răspuns din amonte, client: 127.0.0.1, server: _, cerere: „GET /my2.php HTTP/1.1”, în amonte: „fastcgi://unix:/var/run/php/php7.4-fpm. sock:", gazdă: "localhost:803"
Și aici este codul meu.
<?php
$mysqli = mysqli nou("localhost", "sam", Null, "php");
echo $mysqli->host_info . „\n”;
Ieșirea nu este nimic într-un browser.
Apoi am încercat asta.
<html>
<head>
<title>Connecting MySQL Server</title>
</head>
<body>
<?php
$dbhost = 'localhost';
$dbuser = 'sam';
//$dbpass = 'root@123';
$mysqli = new mysqli($dbhost, $dbuser,NULL,NULL,NULL,"/run/mysqld/mysqld.sock");
if($mysqli->connect_errno ) {
printf("Connect failed: %s<br />", $mysqli->connect_error);
exit();
}
printf('Connected successfully.<br />');
$mysqli->close();
?>
</body>
</html>
Ieșirea este Conectare eșuată: acces refuzat utilizatorului „sam”@“localhost”
Cu jurnal
2021/08/13 16:59:17 [eroare] 1363#1363: *13 FastCGI trimis în stderr: „Mesaj PHP: Avertisment PHP: mysqli::__construct(): (HY000/1698): Acces refuzat utilizatorului 'sam „@'localhost” în /var/www/php/mysqli.php pe linia 10” în timp ce citiți antetul răspunsului din amonte, client: 127.0.0.1, server: _, cerere: „GET /mysqli.php HTTP/1.1”, în amonte: „fastcgi://unix:/var/run/php/php7.4-fpm.sock:”, gazdă: „localhost:803”
Nu am parola pentru utilizator sam
pe mysql.
MariaDB [mysql]> selectați utilizator, parola de la utilizator;
+-----------+------------------------------------- ------+
| utilizator | parola |
+-----------+------------------------------------- ------+
| rădăcină | |
| cineva | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| cineva | *9B8A3238012965AC630589D859535EA0B7C231A7 |
| cineva | *AF411B6C73B3AC3A2316A309A71758175CC14FEE |
| cineva | *D76A454D84260E84578F09915624F275F3D0E08B |
| sam | |
+-----------+------------------------------------- ------+
6 rânduri în set (0,001 sec)
Am schimbat numele de utilizator real cu cineva pentru a proteja confidențialitatea. Puteți vedea asta sam
nu au parola.