Пожалуйста, не закрывайте этот вопрос, это не дубликат, и предлагаемая ссылка, объясняющая, как использовать кавычки на MySQL, ничего не делает для меня, поскольку эта проблема находится внутри сценария WP. Спасибо
Я пытаюсь установить WP 5.4.1 на clean Windows 2019 серверную виртуальную машину.
Я не использовал 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
и установлен с фолло Параметры крыла:
- Только сервер
- Автономный
- Серверный компьютер
- В качестве метода аутентификации я выбираю «Использовать шифрование пароля Stron», как предложено установщик PHP
добавил папку 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 «один лайнер» для создания пользователя и предоставления доступа одновременно не работает, поэтому нам нужно сделать это в 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
и предоставил полный доступ к группам IUSR
и Users
windows, чтобы WP мог записывать файлы конфигурации
В IIS щелкните правой кнопкой мыши Default Web Site
и щелкните Add Application
, указывая на новую wp1
папку * 1 097 *
- перейдите к
localhost/wp1
, чтобы начать установку WP
Итак, после выбора языка и ввода информации БД я получаю эту ошибку
WordPress database error Unknown column ‘wp_’ in ‘field list’ for query SELECT wp_
После нескольких часов борьбы с этим, вот что я обнаружил:
- ошибка пришла из БД, а не из WP.
- пробовал с
wp1
и root
пользователей во время установки - пробовали как
localhost
, так и 127.0.0.1
во время установки - ошибка возникает в файле setup-config. php, строка 315 $ wpdb-> query ("SELECT $ prefix")
- кажется, что проблема в том, что на MySQL приходит строка select wp_ insted из select 'wp_' (обратите внимание на отсутствующие кавычки)
- Если я go to MySQL и выполнить select wp_ Я получаю ту же ошибку
Таким образом, проблема, похоже, связана с тем, как MySQL 8.0 обрабатывает кавычки в запросе, который он получает от установщика WP …
Я восстановил снимок непосредственно перед установкой MySQL 8.0.20 и на этот раз вместо Use Strong Password Encryption for Authentication
I s выбрано Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)
, но ошибка осталась прежней
Прежде чем отвечать, пожалуйста, примите во внимание:
- Я ищу решение проблемы, а не обсуждение того, что я должен использовать MySQL 5.x вместо MySQL 8.x
- Да, подключение к базе данных в порядке, это не проблема, прочтите, пожалуйста, весь мой пост
- Да, wp -config записывается с правильными значениями
Несмотря на то, что я видел много сообщений с этой же ошибкой на форуме WP, обычно на них нет ответа или ответ не имеет никакого смысла (например, с просьбой к OP проверить учетные данные БД и записать доступ к папке WP), я все еще писал на форуме WP , но пока не ответил.
Извините за плохое форматирование!
Кто-нибудь может помочь?