Я знаю, что есть много сообщений об этом, но большинство из них, кажется, намного позже в жизни сайта wordpress - мой происходит на install.php, поэтому я предполагаю, что это более фундаментальная проблема.
Моя установка:
Windows 10 (1803)
Nginx (1.15.2)
PHP (7.2.9 - None Thread Safe)
MySQL (8.0 - Community)
Файловая структура - (в случае, если есть какая-то обнаженность)
nginx - \Development\nginx\nginx-1.15.2\
PHP - \Development\php\php-7.2.9-nts-Win32-VC15-x64\
nginx обслуживает файлы из своего /html/
каталога, а wordpress находится в подкаталоге html/wordpress
В MySQL создана пустая база данных под названием «wordpress», доступная через командную строку, и приложение HeidiSQL, использующее учетные данные для сайта wordpress.
Я знаю, что php работает как базовый <?php phpinfo(); ?>
файл, выводящий информацию PHP и доступ к http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php запускает процесс установки с экрана, запрашивающего информацию о базе данных. Однако отправка этого идет на:
http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php?step=2
Что выдает ошибку 500, пустой белый экран.
В журнале доступа nginx я вижу это:
127.0.0.1 - - [28/Aug/2018:08:56:20 +0100] "POST /wordpress/wp-admin/setup-config.php?step=2 HTTP/1.1" 500 5 "http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php?step=1&language=en_GB" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"
Но в журнале ошибок nginx ничего нет - буквально ничего, он был заполнен недостающими строками значков, но я создал пустой, чтобы уменьшить шум от этого.
Когда wp-config.php
жестко закодирован с информацией о базе данных и строкой define('WP_DEBUG', true);
, доступ к install.php
дает ошибку 500 error - но никакой дополнительной информации.
Есть идеи, в чем проблема? Может быть, это проблема с правами доступа к файлам, я предполагаю, что nginx работает от имени моего пользователя Windows, который является администратором.
ОБНОВИТЬ:
Windows php не поставляется с файлом php.ini (почему !!!), поэтому я взял его из http://www.reallylinux.com/docs/php.ini и поместил его в корневой каталог php - это сработало, и я мог включить регистрацию ошибок
Теперь это дает мне над чем поработать, поскольку я дошел до маршрута проблемы:
[error] 2200#6728: *9 FastCGI sent in stderr: "PHP Fatal error:
UncaughtError: Call to undefined function mysql_connect() in \nginx\nginx-1.15.2\html\wordpress\wp-includes\wp-db.php:1564
Кто-нибудь знает, почему mysql_connect () не определен?
ОБНОВЛЕНИЕ 2:
Фактической причиной проблемы на маршруте была эта ошибка PHP:
Не удается подключиться к mysql 8 с помощью Php 7.2.8 (https://bugs.php.net/bug.php?id=76660)
Переход на PHP 7.2.7, и проблема исчезла ... с учетом изменений, внесенных в принятый ответ.
error_log
в phpinfo (), но у нее нет значения, я проверил расположение файла php.ini в phpinfo (), и там написано C: \ windows - но это не там ... что имеет смысл, так как почему у php есть права на запись для создания этого файла в C; \ windows .... кто-нибудь знает, где он должен быть? - person Morvael   schedule 28.08.2018