启用mysql以允许php使用ubuntu服务器作为web服务器进行访问

启用mysql以允许php使用ubuntu服务器作为web服务器进行访问,php,mysql,ubuntu,nginx,server,Php,Mysql,Ubuntu,Nginx,Server,我在我的机器上使用LEMP(ubuntulinux服务器,Nginx,Mysql,PHP) 我按照本教程进行了设置 我可以使用命令行(mysql-u user-p)访问mysql 但是如果我在推荐行中运行php文件,或者在浏览器中加载它,我会得到以下错误 在命令行中运行文件 php index.php PHP Notice: PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 'my_username'@'lo

我在我的机器上使用LEMP(ubuntulinux服务器,Nginx,Mysql,PHP)

我按照本教程进行了设置

我可以使用命令行(mysql-u user-p)访问mysql

但是如果我在推荐行中运行php文件,或者在浏览器中加载它,我会得到以下错误

在命令行中运行文件

php index.php
PHP Notice: PHP Warning: mysqli_connect(): (HY000/1045): Access denied for user 
'my_username'@'localhost' (using password: YES) in index.php on line 13
PHP代码

$localhost = "localhost";
$username = "my_username";
$pass = "my_password";
$database = "my_database";
$con =  mysqli_connect($localhost, $username, $pass, $database) or die("not 
connect". mysqli_connect_error());

这个答案并没有真正帮助我,我想我的问题是,我需要启用mysql来允许php通信,这是怎么回事?

拒绝访问错误可能有很多原因。问题通常与MySQL帐户有关

在这种情况下,如果您有一个声明为$pass=“pas$w”的变量,您将得到一个E_通知。未定义变量:w。但是像“pas$w”这样的声明是可以的


MySQL 5.7(替换为您的MySQL版本)描述了您可以采取的一些措施来纠正问题。

php和MySQL可以通信。否则,mysql无法告诉您您的凭据是错误的。很简单。你确定你的用户名是
my_username
而不是
root
?凭据不正确。@kenzotenma I我的用户名不存在。我已经创建了一个新用户,并向新数据库添加了所有权限scheme@kenzotenma用户名my_username仅用于privacy@FranzGleichmann谢谢,至少现在我知道他们在沟通。但是我仍然不知道为什么它会给我这个错误。我觉得奇怪的是,我可以访问用户mysql-u user-p,使用ssh访问服务器。只有当我运行php文件时,我才发现这个错误,或者尝试加载我的网页,你是否授予该用户访问权限?是的,我授予了,我可以使用(mysql-u ser-p)创建新表等访问数据库。只是为了测试,你是否尝试使用mysql根用户进行连接?是的,我有,但仍然存在相同的问题,我刚刚注意到的一件事是,我的密码中包含$sign,我想这可能会在读取密码时对php产生影响。将删除它并重试