【问题标题】:Ubuntu 20.04 LEMP Stack PHP 7.4 PDO Connection errorUbuntu 20.04 LEMP 堆栈 PHP 7.4 PDO 连接错误
【发布时间】:2021-10-23 04:26:45
【问题描述】:

系统:Ubuntu 20.04(1 个 SQL Server 和 1 个 Webserver)

mariadb Ver 15.1 Distrib 10.3.31-MariaDB

PHP 7.4.3

我目前在设置 LEMP 网络服务器时遇到问题。

我已经配置了 PHP 和 Nginx,还安全地安装了 mariadb。 但无论我做什么,我总是遇到以下问题:

mysql error log: 2021-08-22 15:47:40 37 [Warning] Access denied for user 
             ''@'Hostname' (using password: NO)
Webbrowser:   Server can't handle request HTTP500 Error

我在数据库上创建了名为 webcompiler@Server_ip 的数据库用户并授予他完全权限 在特定的数据库上。

在 SQL Server 本身上,我可以通过 mysql -u root -p 登录(工作正常)。 但不是通过 mysql -u webcompiler -p

mariadb 中的 my.cnf:

[mysqld]
skip-networking=0
skip-bind-address

PDO 连接脚本:

<?php

$servername ="*";
$dBUsername = "webcompiler";
$dBPassword = "*";
$dBName = "*";


$pdo = new PDO("mysql:host=$servername;dbname=$dBName",$dBUsername , $dBPassword);

if ($pdo->connect_error) {     die("Connection failed: " . $pdo->connect_error); }

感谢到目前为止的帮助!

我进行了相应的更改,但现在出现此错误:

[Warning] Access denied for user 'webcompiler'@'host' (using password: YES) 

【问题讨论】:

  • 这个if(!$pdo) { 没有意义,需要删除
  • 您在$dBName 之后缺少右引号。
  • 对于检查,您可以使用if ($pdo-&gt;connect_error) { die("Connection failed: " . $pdo-&gt;connect_error); }
  • 感谢您的帮助!现在它似乎工作了,但我收到了一个新错误:[Warning] Access denied for user 'webcompiler'@'host' (using password: YES) 这是从哪里来的?
  • 我再次检查了日志,但我只得到用户 'webcompiler'@'host' 的访问被拒绝(使用密码:YES)与尝试通过 mariadb -u 直接连接相同

标签: php mysql linux mariadb


【解决方案1】:

由于“使用密码是”指向错误的密码,我将其更改为 一个简单的,看看是否能修复错误。

确实如此。我把它改成了另一个,转义特殊字符是让它工作的关键。

感谢大家的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 2017-11-17
    • 2021-07-11
    • 2020-08-22
    • 2019-08-16
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多