PHP / cURL на Windows устанавливает: "Указанный модуль не может быть найден."

Я использую PHP 5.2.3 на Windows 2000 Server с IIS 5. Я'пытаюсь заставить работать cURL, поэтому в моем php.ini файле у меня есть эта строка:

extension_dir ="F:\PHP\ext"

И позже, у меня есть:

extension=php_curl.dll

Файл F:\PHP\ext\php_curl.dll существует, но когда я пытаюсь запустить любой PHP скрипт, я получаю следующее в журнале ошибок:

PHP Warning: PHP Startup: Unable to load dynamic library 'F:\PHP\ext \php_curl.dll' - Указанный модуль не может быть найден. в Unknown на строке 0

Решение

Проблема решена!

Хотя сообщение об ошибке гласило Указанный модуль не может быть найден, это немного вводит в заблуждение - дело не в том, что он не смог найти php_curl.dll, а скорее он не смог найти модуль, который требовал php_curl.dll. Две DLL, которые он требует, это libeay32.dll и SSLeay32.dll.

Поэтому вам нужно поместить эти две DLL куда-нибудь в PATH (например, C:\Windows\system32). Вот и все.

Однако даже это не помогло мне вначале. Тогда я скачал zip-архив последней версии PHP для Windows, который включает все необходимые библиотеки DLL. Я не переустанавливал PHP, я просто скопировал все DLL из папки "ext" в папку PHP extensions (как указано в переменной extension_dir в php.ini), и я скопировал версии libeay32.dll и SSLeay32.dll из загруженного PHP в каталог System32.

Я также сделал iisreset, но я не знаю, было ли это необходимо.

Комментарии (4)

libeay32.dll и ssleay32.dll должны быть пути-доступна для php_curl.dll для правильной работы.

В Панель управления -> Поиск -> Дополнительные параметры системы и переменные среды.

Под системные переменные найти путь добавить папку c:/php (или какой бы путь) и перезапустите Apache.

Комментарии (2)

Совет - использовать WAMP-installer. Все просто работает. Однако это не IIS - так что если это важно - игнорируйте мой совет. ;)

EDIT: Я увидел, что вы нашли решение, поэтому я проголосовал за него. +1

Комментарии (2)

У меня все та же проблема, хотя я сделал предложение выше и многие другие, предложенные в Интернете, я получаю

Извините, но этот плагин требует, чтобы libcurl был активирован на вашем сервере.

Когда я пытаюсь активировать свой плагин.

Отредактировано: Я использовал php 5.3.13 на win64 windows 7 и ни одно из решений не работало для меня.

1.Я пытался скопировать libeay32.dll SSLeay32.dll в папку windows\system32 - не помогло. 2. Отредактировал и откомментировал оба файла php.ini - не помогло. 3. Активировал php_curl в расширениях php не помогло 4. Скопировал и заменил несколько раз www.anindya.com версию php_curl.dll, но похоже я скачивал не ту версию. Версия, которая работала у меня, была в разделе Fixed curl extensions второй файл php_curl-5.3.13-VC9-x64

Надеюсь, это поможет кому-нибудь еще

Комментарии (1)

Столкнулась с этой проблемой, когда я обновил PHP в UwAmp до 7,2.*. Единственное решение, которое работает для меня было скачать последняя версия Apache на время (например, Apache/2.4.37 (для Win32)) и заменить тот, что пришел с UwAmp. Это также участвует редактирования типовой конфигурации httpd.conf, чтобы произвести httpd_uwamp.файл conf. UwAmp нужен этот шаблон, чтобы затем создать реальный файл httpd.conf при запуске. Все остальные предложения выше я'т решать это за меня, к сожалению. Также обратите внимание, что в OpenSSL 1.1, libeay32.dll и ssleay32.dll больше не требуется (см. http://php.net/manual/en/curl.installation.php)

Комментарии (0)