【问题标题】:wordpress installation failed with nginxnginx 安装 wordpress 失败
【发布时间】:2022-01-01 20:32:10
【问题描述】:

我在 CentOS7 上使用 nginx/1.20.1、PHP 7.2.34、mysqld 8.0.27。我可以打开 wordpress 索引页面,但安装总是失败。我确定我的用户名、密码和主机名是正确的(即使我添加更多用户或重置密码),但它显示:

建立数据库连接时出错: 这要么意味着您的 wp-config.php 文件中的用户名和密码信息不正确,要么我们无法联系本地主机上的数据库服务器。这可能意味着您主机的数据库服务器已关闭。

我尝试创建自己的 wp-config.php 文件并设置配置,然后它将是 HTTP ERROR 500。日志显示: PHP警告:require_once(/var/www/html/wp-config.php):无法打开流:第50行/var/www/html/wp-load.php中的权限被拒绝 我不知道为什么我的是第 50 行,而其他的是 37。但是,我已经将 html(甚至 www)文件夹的所有权更改为 nginx,并将其中的所有文件更改为 777,但它仍然无法正常工作.

我认为 MySQL 没有连接到 wordpress 但 3306 端口是打开的: tcp6 0 0 :::3306 :::* LISTEN 31913/mysqld
当我这样做时它仍然不起作用: 定义('DB_HOST','127.0.0.1:3306'); 在 wp-config.php 中

我厌倦了 WP-DEBUG,但由于 HTTP ERROR 500,它没有显示。我现在还能做什么

【问题讨论】:

    标签: php wordpress nginx


    【解决方案1】:

    您确定为 MySQL 用户输入的用户名和密码正确吗?

    如果您仍然不确定:

    • 创建一个新数据库
    • 在数据库中定义一个新用户
    • 然后重新测试。

    Here 是创建新用户和授予权限的说明

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    • 我试过了,但没用。请问是不是我用错了密码,会不会也是HTTP ERROR 500?
    • @jeffma 您是否检查过 MySQL 是否已启用并在您的服务器上运行?
    • 它是活动的,我什至重新启动它
    • @jeffma 除了这个 WordPress 项目之外,您在服务器上还有另一个使用 MySQL 的 PHP 项目吗?
    【解决方案2】:

    我从其他地方阅读并了解到这一点: 运行测试 PHP 程序以连接 MySQL

    <PHP
    <?PHP
    $connect =mysqli_connect("localhost","username","password","dbname");
    if (!$connect) {
    die('error'. mysqli_error());
    }
    echo 'success';
    mysqli_close($link);
    ?>
    

    然后它返回:

    PHP Warning:  mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in /home/test.php on line 4
    PHP Warning:  mysqli_connect(): (HY000/2054): The server requested authentication method unknown to the client in /home/test.php on line 4
    PHP Warning:  mysqli_error() expects exactly 1 parameter, 0 given in /home/test.php on line 7
    

    我目前的PHP不支持要求的验证方式(caching_sha2_password),PHP的默认是mysql_native_password。 我改变了它

    ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

    它奏效了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 2011-01-14
      • 2019-02-12
      • 1970-01-01
      • 2019-03-14
      • 2012-07-07
      相关资源
      最近更新 更多