Обновление 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