Как включить и настроить расширение cURL для PHP 8 в Windows?

Всем привет. Не удаётся загрузить модуль php_curl — в логах появляются ошибки: <br/> <pre><code>[28-May-2026 14:40:45 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' (tried: c:/wamp64/bin/php/php8.2.31/ext/curl (Не найден указанный модуль), c:/wamp64/bin/php/php8.2.31/ext/php_curl.dll (Не найдена указанная процедура)) in Unknown on line 0
  • 28 мая 2026 г. 15:00
Ответы на вопрос 1
Ниже — пошаговая инструкция и возможные причины ошибки «Unable to load dynamic library 'curl' … Не найдена указанная процедура» для PHP 8 под Windows (WAMP/Apache или CLI).

Коротко: ошибка обычно из‑за отсутствия/несовместимости зависимых DLL (libcurl, OpenSSL, zlib и т. п.) либо отсутствия VC++ runtime, либо из‑за того, что загружается не та копия библиотек из PATH.

1) Убедитесь, что правий php.ini загружается
- Создайте файл info.php в документ‑руте Apache с содержимым <?php phpinfo(); ?> и откройте его в браузере.
- Посмотрите «Loaded Configuration File» — это php.ini, который использует запущенный PHP (важно: CLI и модуль Apache могут использовать разные php.ini).

2) Включите расширение в нужном php.ini
- Откройте найденный php.ini и найдите строку с curl, например:
  - extension=curl
  или
  - ;extension=php_curl.dll
- Раскомментируйте (удалите ;) или добавьте extension=curl
- Сохраните файл и перезапустите Apache/WAMP.

3) Проверьте наличие файла php_curl.dll
- Откройте папку php\ext (например C:\wamp64\bin\php\php8.2.31\ext) — убедитесь, что php_curl.dll там есть.
- Если файла нет — либо повреждена установка PHP, либо версия некорректна. Переустановите/замените PHP дистрибутив на корректный.

4) Установите Microsoft Visual C++ Redistributable
- PHP 8 требует соответствующего VC++ runtime (обычно «Microsoft Visual C++ Redistributable for Visual Studio 2015–2022»). Скачайте и установите x64 (и x86, если у вас 32‑битный PHP или Apache).
- Перезагрузите систему / сервисы.

5) Проверьте зависимые DLL (libcurl/OpenSSL/zlib)
- php_curl.dll зависит от других DLL (libcurl*, libssl*, libcrypto*, zlib и т.д.). Эти файлы обычно лежат в корне папки PHP (например C:\wamp64\bin\php\php8.2.31\).
- Apache при старте ищет DLL в своей папке bin, затем в PATH. Если в PATH есть другая (несовместимая) копия libcurl/libssl, система может загрузить её и получить ошибку «Не найдена указанная процедура».

Что сделать:
- Убедитесь, что папка с PHP (где лежат нужные lib*.dll) находится в начале системной переменной PATH, либо
- Скопируйте нужные DLL из папки PHP (обычно libcurl.dll, libcrypto*.dll, libssl*.dll и т.п.) в папку Apache\bin (например C:\wamp64\bin\apache\apache2.x.y\bin). После этого перезапустите Apache.
- Или удалите/переименуйте конфликтующие старые DLL из других папок (system32/Program Files), если они мешают.

6) Поиск и диагностика конфликтов
- В командной строке (cmd) можете выполнить:
  - php -v — чтобы увидеть версию CLI PHP и возможные стартап‑ошибки.
  - php --ini — показывает используемые конфиги.
  - php -m | findstr /i curl — проверит, загружено ли расширение в CLI.
- Если ошибка сохраняется, используйте утилиту Dependencies (или старый Dependency Walker) на php_curl.dll, чтобы увидеть, какие зависимости не находятся или не совпадают.

7) Примеры типичных решений (в порядке вероятности)
- Установить VC++ Redistributable (часто решает сразу).
- Добавить папку PHP в PATH или скопировать DLL в Apache\bin (решает проблему загрузки корректных версий библиотек).
- Убедиться, что используете совместимые сборки PHP/Apache (оба x64 или оба x86).
- Переустановить WAMP/PHP, если отсутствуют файлы.

8) Как проверить, что всё заработало
- После перезапуска Apache откройте info.php и найдите секцию curl — она должна присутствовать.
- В CLI выполните php -m и убедитесь, что в списке модулей есть curl.
- В логах Apache больше не должно быть ошибок типа «Unable to load dynamic library 'curl'…»

Если хотите, помогу точнее — пришлите:
- Полный путь к вашей папке PHP (например C:\wamp64\bin\php\php8.2.31)
- Вывод php --ini и php -v (или содержимое / путь «Loaded Configuration File» из phpinfo)
- Список DLL в корне PHP (вывод dir c:\wamp64\bin\php\php8.2.31\*.dll)
С этими данными подскажу, какая именно библиотека не загружается и что копировать/устанавливать.
Похожие вопросы