Обновление PHP 8.0.12 до PHP 8.1 - множественные ошибки модулей

Я уже давно обновляю свою рабочую станцию ​​Dev с помощью XAMPP, начиная с различных версий 7 и заканчивая 8.012.

Кажется, я столкнулся с проблемой при обновлении до 8.1.

Я отредактировал конфигурацию apache, чтобы использовать новую версию php. Принимая php.ini-development и переименовав его в, а затем раскомментирование расширения openssl не имеет никакого эффекта после перезапуска apache:

      extension=openssl

Openssl не включен на странице информации php:

И если я попытаюсь включить mongodb, переместив расширение из предыдущей установки и раскомментируя расширение в php.ini и снова перезапустив apache, я получаю сообщение об ошибке:

extension=php_mongodb.dll

Я могу вернуться к предыдущей версии php-8.0.12и снова иметь полностью работающий php. Но я бы хотел оставаться в курсе последнего релиза, если это вообще возможно!

Что я делаю не так с этой версией PHP? Почему я ничего не могу включить?

2 ответа

Мне пришлось установить ПОЛНЫЙ ПУТЬ в каталог расширений в Windows. Как только я это сделал и перезапустился, я смог включить / отключить расширения. Найдите эту строку в php.iniи настройте его под свои нужды:

      ; On windows:
extension_dir = "C:\xampp\php-8.1.0\ext\"

Этот параметр кажется важным только в Windows. Установите эту строку так, как вы хотите, перезапустите apache, и все будет хорошо!

Вы копируете несовместимый модуль, скомпилированный со старой версией. Если вы обновляете версию PHP, вам понадобится DLL-файл расширения, скомпилированный с этой конкретной версией PHP и подходящий для вашей серверной среды. Вы можете скачать совместимые пакеты здесь PECL . Загрузите и поместите файл .dll в каталог расширения. Затем вам нужно включить это расширение. Вот руководство для системы Windows Установка расширения PHP в Windows .

Для MongoDB получите его здесь https://pecl.php.net/package/mongodb

Другие вопросы по тегам