请不要关闭这个问题,它不是重复的,并且解释如何在 MySQL 上使用引号的建议链接对我没有任何作用,因为这个问题是在 WP 脚本内。谢谢
我正在尝试在 WP 5.4.1 上安装cleanWindows 2019 Server 虚拟机。
我没用过Microsoft Web Platform Installer
因为它下载旧版本的 WP / MySQL 和 PHP,所以我尝试从头开始安装。
以下是我已采取的步骤:
- 最新下载并安装
PHP 7.4.5
,非线程安全版本
并安装了它
- renamed
php.ini-production
to php.ini
-
将 php.ini 编辑为:
- 上传最大文件大小 = 64M
- post_max_size = 64M
- 最大执行时间 = 300
- extension=mysqli(删除此处的分号,因为 PHP 需要此驱动程序才能连接到 MySQL 8)
在 IIS 中,我创建了 *.php 映射并添加了 default.php 和 index.php
创建了虚拟对象phpinfo.php
文件并在 IIS 上进行测试,一切正常并且 phpinfo() 显示数据
-
已下载MySQL 8.0.20
并使用以下选项安装:
- 仅服务器
- 独立式
- 服务器计算机
- 对于身份验证方法,我按照 PHP 安装程序的建议选择“使用强密码加密”
添加 MySQL BIN 文件夹到path
环境变量
-
opened %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 中,创建用户并同时授予访问权限的“一行”不起作用,因此我们需要用 2 行来完成)
mysql -u root -p
create database wp1;
CREATE USER ‘wp1’@’%’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON wp1.* TO ‘wp1’@’%’;
FLUSH PRIVILEGES;
EXIT
因此,在选择语言并输入数据库信息后,我收到此错误
WordPress database error Unknown column ‘wp_’ in ‘field list’ for query SELECT wp_
经过几个小时的努力,我发现了以下内容:
- 错误来自 DB,而不是 WP。
- 两者都尝试过
wp1
and root
安装期间的用户
- 两者都尝试过
localhost
and 127.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 文件夹的访问权限),我仍然在WP论坛上发帖 https://wordpress.org/support/topic/database-error-unknowon-column-wp_-in-field-list-for-query-select-wp_/#post-12797802,但我还没有答案。
抱歉我的格式不好!
有人可以帮忙吗?
终于找到问题了...
TLDR;编辑你的php.ini
并确保您同时拥有:
display_errors = On
error_log = php_errors.log
Setting 错误日志解决了问题...我想当错误日志没有值(默认配置),PHP 决定将错误发送回调用程序,从而产生错误消息column 'wp_' in 'field list'
在 WP 安装过程中。
更多详情请点击这里 https://core.trac.wordpress.org/ticket/42362
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)