Wordpress http 500 ошибка при установке - PullRequest
0 голосов
/ 28 августа 2018

Я знаю, что есть много сообщений об этом, но большинство из них, кажется, намного позже в жизни сайта 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, и проблема исчезла ... с учетом изменений, внесенных в принятый ответ.

1 Ответ

0 голосов
/ 28 августа 2018

mysql_connect() - это функция, которая была там до PHP 5.2, и устарела в PHP 5.5.0 , и была удалена в PHP 7.0.0 . Вместо этого следует использовать расширение MySQLi или PDO_MySQL. Ссылка: Руководство по PHP

...