Задать вопрос
@Radiss

Как исправить ошибку «PHP Startup: Unable to load dynamic library»?

Для проекта необходима версия "php": "^7.1.3", у меня была установлена в модулях 7.0.14 в версии 5.2.2.0 Пришлось скачать OS версию 5.2.8 В модулях выбран php 7.2*64 Apache 7.2*62
В phpinfo также инфа о том, что версия 7.2

В параметрах был изменен путь и версия php: Компьютер -> Свойство системы -> Дополнительный параметры -> "Дополнительно : Переменная среда" В системных переменных "Path" D:\OpenServer\modules\php\PHP-7.2*64

Но в cmd при запуске команды "composer update" теперь ругается на отсутствие кучи библиотек
spoiler

PHP Warning: PHP Startup: Unable to load dynamic library 'php_mbstring.dll' (tried: w:/modules/php/PHP-7.2-x64/ext/php_mbstring.dll (▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒. ), w:/modules/php/PHP-7.2-x64/ext/php_php_mbstring.dll.dll (▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒. )) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'php_bz2.dll' (tried: w:/modules/php/PHP-7.2-x64/ext/php_bz2.dll (▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒. ), w:/modules/php/PHP-7.2-x64/ext/php_php_bz2.dll.dll (▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒. )) in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'php_curl.dll' (tried: w:/modules/php/PHP-7.2-x64/ext/php_curl.dll (▒▒ ▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒. ), w:/modules/php/PHP-7.2-x64/ext/php_php_curl.dll.dll (▒▒ ▒▒▒▒▒▒ ▒▒

и т.д


А также
spoiler


[Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl ex tension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.



В config php 7.2 *64 эти extension имеются и не закомм.
  • Вопрос задан
  • 18201 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Radiss Автор вопроса
1 Создать папку ext в модулях, к примеру:
D:\Open Server\OSPanel\modules\php\ext

2 В папку ext перенести все dll из текущей версии php

3 В config (D:\OSold\OpenServer\userdata\config) изменить относительные пути т.к. Apache не понимает относительные пути php.ini в системах Windows.
extension_dir="C:\full\path\to\php\ext"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@sw26
Проблема была в том, что в файле php.ini были кривые пути.
Начиналось все с диска W, причем у меня его вообще нет. я поменял все w:\ и w:/ (нужно посмотреть, какой диск у Вас) на правильный путь. все заработало 100% (перезапустить консоль нужно).
Понимаю, что автору мой комментарий не нужен уже, но вдруг кто-то это увидит и кому-то это поможет.
Ответ написан
Комментировать
@MyQuestion
junior-middle fullstack
Если кто-то вдруг столкнулся с похожей проблемой, но у него уже есть папка ext и все модули в ней, то мне помог вариант с редактированием php.ini. Добавьте верху подключений extension директиву extension_dir = "ext"

Возможно, у вас не будет самого php.ini, тогда скопируйте его из соседнего файла dev или prod версии.
Моя задача была - включить директиву openssl в настройках openserver php7.4 и установить composer.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы