Вопрос или проблема
Я пытаюсь установить WordPress 5.3.2 на NetBSD (unix). phpinfo() сообщает, что я использую Apache/2.4.33 (Unix) PHP/7.2.6.
/wp-admin/setup-config.php?step=1 имеет сообщение внизу окна (под кнопкой “отправить”), говорящее “На вашем сайте произошла критическая ошибка”.
Подумав установить WP_DEBUG в “true” в надежде получить сообщение об ошибке, я вручную настроил wp-config.php, но на install.php у меня появляется пустой экран.
В журнале сервера написано “Вызов неопределенной функции wp_kses_normalize_entities()”.
Я также пытался использовать /wp-admin/setup-config.php для настройки php-config.php и, просматривая журнал сервера, я вижу другие ошибки: “Вызов неопределенной функции mysql_connect()” (из wp-includes/wp-db.php) и “Вызов неопределенной функции json_encode()” из wp-includes/functions.php:3820.
Поскольку это происходит на этапе установки, единственное, что я изменил, это wp-config.php (каждый раз редактируя из стандартного файла). Я еще не дошел до панели управления WordPress, поэтому нет плагинов для отключения. Что мне делать?
Я знаю, что с тех пор, как вы это опубликовали, прошло много времени, но давайте разберемся. Эта ошибка возникает, когда установка WordPress не завершена или не успешна. Я предлагаю попробовать установить ваш WordPress с помощью его автоустановщика, который внесет необходимые изменения в необходимые файлы. Используя этот метод, вы избегаете редактирования даже wp-config самостоятельно, что я всегда считал лучшим вариантом, если у вас нет собственных причин для ручной настройки базы данных.
Также php7.2, посмотрите на новый веб-сайт wordpress и то, что они рекомендуют
Вероятно, также работает, однако должно быть 7.4+, я все еще использую 7.4 с wordpress, потому что при разработке 8.1 полон предупреждений, если у нас включена отладка.
Ответ или решение
Создание новой установки WordPress может вызвать различные проблемы, особенно в случае некорректной конфигурации сервера или отсутствующих расширений PHP. Ваша ошибка Call to undefined function wp_kses_normalize_entities()
и другие сообщения об ошибках, такие как Call to undefined function mysql_connect()
и Call to undefined function json_encode()
, указывают на то, что некоторые необходимые функции PHP недоступны.
Вот несколько шагов, которые помогут вам решить эту проблему:
-
Проверьте версию PHP:
Убедитесь, что вы используете рекомендуемую версию PHP для WordPress. На момент написания данного ответа, рекомендуется использовать PHP версии 7.4 и выше. Вы используете PHP 7.2.6, что может быть проблемой. Попробуйте обновить PHP до версии 7.4 или 8.0/8.1. -
Убедитесь в наличии необходимых расширений:
Некоторые функции, которые вызывает WordPress, требуют наличия соответствующих расширений PHP.- Убедитесь, что вы установили следующие расширения:
mysqli
(для работы с базами данных MySQL)json
(для работы с JSON)mbstring
(для работы с многобайтовыми строками)
Вы можете проверить загружаемые расширения в вашемphpinfo()
.
- Убедитесь, что вы установили следующие расширения:
-
Установка/переключение на автоустановщик WordPress:
Рассмотрите возможность использования встроенного автоустановщика WordPress. Это упрощенный способ и позволяет избежать возможных ошибок при ручной конфигурации. Убедитесь, что сервер имеет доступ к интернету для загрузки необходимых файлов. -
Настройка wp-config.php:
Если вы всё же хотите вручную настроитьwp-config.php
, убедитесь, что в нём правильно указаны данные для подключения к базе данных, включая:DB_NAME
— имя базы данныхDB_USER
— имя пользователя для доступа к базе данныхDB_PASSWORD
— пароль пользователяDB_HOST
— адрес сервера базы данных (обычно этоlocalhost
)
-
Проверка прав доступа:
Убедитесь, что у вашего веб-сервера есть необходимые права доступа к файлам и папкам WordPress. В большинстве случаев, права 755 для папок и 644 для файлов должны быть достаточными. -
Включение режима отладки:
Если после выполнения вышеперечисленных шагов проблемы продолжаются, попробуйте включить отладку. Для этого добавьте следующие строки в ваш файлwp-config.php
:define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Это создаст файл отладки в папке
wp-content/debug.log
, где вы сможете найти более подробную информацию об ошибках. -
Проверка серверного лога:
Внимательно просмотрите серверный лог (обычно этоerror.log
), чтобы обнаружить дополнительные проблемы, которые могут помешать установке WordPress.
Если после всех этих шагов проблема не решается, возможно, стоит обратиться в техподдержку хостинга или на форум поддержки WordPress для получения дополнительных советов.