Я знаю, что есть много сообщений об этом, но большинство из них, кажется, намного позже в жизни сайта 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 нет ничего - буквально ничего, он был заполнен пропущенными строчками favicon, но я создал пустую, чтобы уменьшить шум от этого.
Когда wp-config.php
жестко запрограммирован с информацией базы данных и строкой define('WP_DEBUG', true);
, доступ к install.php
дает ошибку 500, но никакой дополнительной информации.
Есть идеи, в чем проблема?
Это может быть проблема с правами доступа к файлам, я предполагаю, что nginx работает от имени моего пользователя Windows - который является администратором.
UPDATE:
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, и проблема исчезла ... с учетом изменений, внесенных в принятый ответ.