gpt4 book ai didi

php - WP 数据库错误未知列 ‘wp_’ in ‘field list’ for query SELECT wp_

转载 作者:行者123 更新时间:2023-12-04 02:36:22 25 4
gpt4 key购买 nike

请不要关闭这个问题,它不是重复的,并且解释如何在 MySQL 上使用引号的建议链接对我没有任何帮助,因为这个问题在 WP 脚本中。谢谢

我正在尝试在 clean Windows 2019 Server 虚拟机上安装 WP 5.4.1。

我没有使用 Microsoft Web Platform Installer 因为它下载了旧版本的 WP/MySQL 和 PHP,所以我试图从头开始安装。

以下是我采取的步骤:

  • 下载并安装最新的 PHP 7.4.5 ,非线程安全版本
    并安装它
  • php.ini-production 重命名为 php.ini
  • 将 php.ini 编辑为:
  • upload_max_filesize = 64M
  • post_max_size = 64M
  • max_execution_time = 300
  • extesion=mysqli(去掉了这里的分号,因为 PHP 需要这个驱动才能连接到 MySQL8)
  • 在 IIS 中我创建了 *.php 映射并添加了 default.php 和 index.php
  • 创建虚拟 phpinfo.php 文件并在 IIS 上测试, 一切正常,phpinfo() 显示数据
  • 下载 MySQL 8.0.20 并使用以下选项安装:
  • 仅服务器
  • 独立
  • 服务器计算机
  • 对于身份验证方法,我选择了 PHP 安装程序建议的“使用 Stron 密码加密”
  • 将 MySQL BIN 文件夹添加到 path 环境变量
  • 打开 %PROGRAMDATA%\MySQL\MySQL Server 8.0\my.ini 并禁用 sha2 并启用 native_password:
  • ;default_authentication_plugin=caching_sha2_password
  • default_authentication_plugin=mysql_native_password
  • 为 WP 创建了一个名为 wp1 的新数据库(在 MySQL 8 中,创建用户和授予访问权限的“one liner”是行不通的,所以我们需要在 2 行中完成)
  •   mysql -u root -p
    create database wp1;
    CREATE USER ‘wp1’@’%’ IDENTIFIED BY ‘password’;
    GRANT ALL PRIVILEGES ON wp1.* TO ‘wp1’@’%’;
    FLUSH PRIVILEGES;
    EXIT
  • 创建了文件夹 C:\intepub\wwroot\wp1 并授予对 IUSRUsers 窗口组的完全访问权限,以便 WP 可以编写配置文件
  • 在 IIS 中,右键单击 Default Web Site 并单击指向新 Add Application 文件夹
  • wp1
  • 导航到 localhost/wp1 以启动 WP 安装

  • 所以在选择语言并输入数据库信息后,我收到这个错误
    WordPress database error Unknown column ‘wp_’ in ‘field list’ for query SELECT wp_
    经过数小时的努力,我发现了以下内容:
  • 错误来自数据库,而不是 WP。
  • 在安装
  • 期间尝试使用 wp1root 用户
  • 在安装
  • 期间尝试了 localhost127.0.0.1
  • 错误在 setup-config.php 文件第 315 行 $wpdb->query("SELECT $prefix")
  • 似乎问题是到达 MySQL 的是字符串 select wp_ insted of select 'wp_'(注意缺少的引号)
  • 如果我去 MySQL 并执行 select wp_ 我得到完全相同的错误

  • 所以这个问题似乎与 MySQL 8.0 如何处理它从 WP 安装程序收到的查询中的引号有关......

    我在安装 MySQL 8.0.20 之前恢复了一个快照,这次,而不是 Use Strong Password Encryption for Authentication我选择了 Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) 但错误还是一样

    在回答之前,请考虑:
  • 我想解决这个问题,而不是开始讨论我应该使用 MySQL 5.x 而不是 MySQL 8.x
  • 是的,数据库连接正常,没问题,请阅读我的所有帖子
  • 是的,wp-config 正在写入正确的值

  • 即使很艰难,我在 WP 论坛上看到了许多带有相同错误的消息,他们通常没有答案,或者答案没有任何意义(例如要求 OP 检查数据库凭据并写入对 WP 文件夹的访问权限), still I posted on the WP forum ,但我还没有回答。

    对不起,我的格式不好!

    有人可以帮忙吗?

    最佳答案

    终于找到问题了。。。

    TLDR; 编辑您的 php.ini 并确保您拥有两者:
    display_errors = Onerror_log = php_errors.log
    设置 error_log 解决了这个问题...我猜当 error_log 没有值(默认配置)时,PHP 决定将错误发送回调用程序,导致在WP 安装过程中出现错误信息column 'wp_' in 'field list'

    More details here

    关于php - WP 数据库错误未知列 ‘wp_’ in ‘field list’ for query SELECT wp_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61664341/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com