【问题标题】:Access denied for user 'apache'@'localhost' (using password: NO)用户 'apache'@'localhost' 的访问被拒绝(使用密码:否)
【发布时间】:2017-10-26 01:11:31
【问题描述】:

我已经在 CentOS 7 中安装了 LAMP

当我将文件放在默认目录中时(在我的情况下为 var/www/html) 当我访问我的页面时,我会收到以下信息:

错误:PB de connexion au serverur mysql de la langue:fr Erreur : PB de connexion � la base de donn�es de la langue : fr 错误 SQL : SELECT * FROM 参数 用户 'apache'@'localhost' 的访问被拒绝(使用密码:否)

以下是我的配置文件:

$action  = "action";


@error_reporting (E_ALL);
@setlocale(LC_TIME, 'french');


$host     = "localhost";

$user     = "";
$password = ""    ;


 //---> La langue utilisée (fr, en, ar)
 global $lang ;
 $lang             = isset($_REQUEST["lang"])? $_REQUEST["lang"] : "";
 switch($lang)
 {
 case "ar"  :  $lang = "ar" ; break;
 case "en"  : $lang = "en" ; break;
 case "fr"   :  $lang = "fr" ; break;
 default        : $lang = "fr" ; //---> La langue par défaut
 } //Fin switch





 global $lang_param;

$lang_param = array
          (
            //---> principal = TRUE
             "fr" => array(
                           "host"        => "localhost"         ,
                           "db"          => "database_fr"             ,
                           "user"        => "user1"              ,
                           "password"    => ""                  ,
                           "chemin"      => "fr"                ,
                           "description" => "Langue française"  ,
                           "short"       => "Français"          ,
                         ),
                         //---> principal = FALSE
           "en" => array(
                           "host"        => "localhost"         ,
                           "db"          => "database_en"           ,
                           "user"        => "user1"              ,
                           "password"    => ""                  ,
                           "chemin"      => "en"                ,
                           "description" => "Langue anglaise"   ,
                           "short"       => "Anglais"           ,
                         )  ,


             "ar" => array(
                           "host"        => "localhost"         ,
                           "db"          => "database_ar"             ,
                           "user"        => "user1"              ,
                           "password"    => ""                  ,
                           "chemin"      => "ar"                ,
                           "description" => "Langue arabe"  ,
                           "short"       => "Arabe"          ,
                         )           


          ); //Fin $lang_param




//---> Se connecter
$r = @mysql_pconnect($lang_param[$lang]["host"], $lang_param[$lang]       ["user"], $lang_param[$lang]["password"]); 
if ($r==0) 
{
 echo "Erreur : PB de connexion au serveur mysql de la langue :    $lang<br>";
 } //Fsi

  $r = @mysql_select_db($lang_param[$lang]["db"]);
 if ($r==0) {
   echo "Erreur : PB de connexion à la base de données de la langue : $lang<br>";
  } //Fsi

如何获得 apache@localhost 的访问权限?

【问题讨论】:

  • 不要忘记接受答案,并为对您有帮助的答案投票!

标签: php mysql linux apache centos


【解决方案1】:

$user 变量中应该定义了一个帐户。

试试root帐号

$user='root';

请注意,没有密码的 root 帐户会使您的网络服务器不安全,并尽快设置它

【讨论】:

  • 我的根目录受到强大的 MDP 的保护谢谢,但是我可以在哪里找到 $user 的默认定义,不在我的代码中????
  • 您在另一条评论中提到您添加了一个帐户,是吗?您可以在帐户下的 phpmyadmin 中查看
【解决方案2】:

你应该创建一个用户:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'mypass';

并授予您尝试连接的数据库的权限:

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'%';

之后,您必须在代码中填写变量 $user$password

【讨论】:

  • 这也不错,但请确保用户也可以正确访问以下数据库
  • 感谢您的回复。是的,我创建了一个具有完全权限的用户“userx”,问题还是一样。
猜你喜欢
  • 2015-10-07
  • 2018-02-22
  • 2016-12-27
  • 2012-06-17
  • 2019-12-19
  • 1970-01-01
相关资源
最近更新 更多