Как заставить CURL работать с PHP на Windows? (WAMP)

обновление: проблема, похоже, была повреждена DLL где-то в моей установке PHP или, возможно, ошибка в PHP 5.2.9 на Win2k. Я загрузил дистрибутив Windows (только двоичные файлы) PHP 5.2.10 из php.net и добыл это для моего c:PHP справочник. После этого все работало нормально.

обновление 2: я уничтожил все, что я пробовал ранее (все из маркированного списка ниже),за исключением что я оставил "extension=php_curl.dll " uncommented в моем php.ini-файл. Оказывается, это все, что вам нужно сделать при правильной установке.


я пытаюсь заставить CURL работать над установкой Windows PHP (версия 5.2.9-2), и я нахожусь в конце. Я нашел страница установки PHP CURL, это так вопрос какие ссылки на этой странице и это так вопрос. Я пробовал большинство предложений на всех этих страницах, но Я все еще получаю ошибку. Вот моя очень простая тестовая страница:

<?php
$ch = curl_init();
?>
<b>Success!</b>

это дает мне:

критическая ошибка: вызов неопределенной функции curl_init() в C:ApacheRootcurltest.в PHP on line 2

в моем журнале ошибок Apache, я получаю это каждый раз, когда сервер начинает:

PHP Warning: PHP Startup: Unable to load dynamic library 'C:PHPextphp_curl.dll' - The specified procedure could not be found.rn in Unknown on line 0

я сделал следующий:

  • Раскомментировал следующую строку в php.ini:extension=php_curl.dll
  • скопировал ssleay32.dll и libeay32.dll от C:PHP к C:WINNTSystem32
  • скачал cURL для Win32 из завиток.Хакс.se и извлек .zip-файл в C:cURL
  • добавил C:cURL в моей системе переменная среды PATH.
  • подтверждено, что:
    • php.Ини включает в себя extension_dir="C:PHPext"
    • каталог C:PHPext содержит php_curl.dll
    • только php.ini файл в моей системе находится в C:PHP (то есть тем более что нет C:WINNTphp.ini)
    • Апач httpd.conf файл включает строку PHPIniDir "C:/PHP/"

у меня также перезагрузил машину (несколько раз, на самом деле...).

7 ответов


вам не нужно перезагружать компьютер, просто перезапустите apache, и модуль php прочитает новый ini.
Вы изменили правильный php.Ини? В случае сомнений

<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>

могу вам сказать.

есть что-то в ошибке.журнал apache, который указывает, что что-то пошло не так При загрузке php и php_curl.dll файлы?

вы запустили apache как службу win32? Если вы попытаетесь запустить его как консольное приложение. Сообщение об ошибке появится на консоли тогда. Или запустите его как сервис и посмотрите на ошибку.файл журнала и журнал событий windows (запуск, запуск,eventvwr.msc /s).

edit:
"Указанная процедура не найдена"
Вам нужна dll, совместимая с вашей версией php и сборкой. Что именно вы установили и где вы это взяли?


попробуйте это:

  1. полностью остановить WAMP.
  2. найти папку ПУВР:\C:\Path\To\WAMP\bin\Apache\ApacheVersion\bin
  3. отредактируйте этот php.расширение ini и uncomment=php_curl.dll файлы
  4. перезапустить WAMP.

это, надеюсь, решит проблему.

* EDIT: сделайте то же самое @ C:\Path\To\WAMP\bin\php\PHPVersion\


Это то, что сработало для меня

ответил Сорен из другой такой же нити -завиток для WAMP

"кажется, где-то есть ошибка. Если вы испытываете это на 64-битном Win 7, попробуйте установить Apache addon версии 2.2.9 и php addon версии 5.3.1 и переключиться на WAMP, а затем активировать расширение CURL. Это сработало для меня."


это исправило его для меня:

здесь:

http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

скачать ' php_curl-5.3.13-VC9-x64.zip'

остановить сервер WAMP от запуска

извлеките файл ' php_curl.в DLL'.

на локальном компьютере перейдите к (или где находится установка WAMP) c:\wamp\bin\php\php5.3.13\ext

переименовать php_curl.dll для php_curl.файл DLL.старый (или что вы выбираете), а затем скопируйте новый файл в вышеуказанный каталог.

перезапустить сервер WAMP

все должно работать нормально теперь.


У меня была такая же проблема с php-5.5.26-Win32-VC11-x64 (в Windows), и я попробовал все, что здесь перечислено, без везения. Наконец, я получил его работу, добавив каталог установки PHP В Windows Path.


с PHP 5.6.9 на Windows Server Core 2012 x64 cURL не работал, не появляясь в phpinfo, несмотря на раскомментированный php_curl.dll расширение в моем php.ini и перезапуск службы Apache 2.4. Добавлен путь php и путь php\ext к моему $evn: path. Никакая радость.

Fix: мне не нужно было загружать любой другой php_curl.dll-файл и не смог найти его для PHP 5.6 в любом случае. Наконец, удалось скопировать эти три файла в папку Apache24\bin, а затем перезапустить Апач:

libeay32.dll файлы

libssh2.dll файлы

ssleay32.файл DLL Копирование их в System или System32 не требовалось.


Если проблема сохраняется после раскомментируйте модуль с версиями PHP.ini-файлы (о которых люди уже говорят и которые находятся в папке apache и папке php) и даже после того, как вы проверите, что у вас есть php_curl.dll * * at

C:\WAMP\bin\php\php5.3.13\ext

ВЫ ДОЛЖНЫ ПОПЫТАТЬСЯ ЗАМЕНИТЬ ОРИГИНАЛЬНУЮ DLL, КОТОРАЯ ПОСТАВЛЯЕТСЯ С WAMPSERVER С одним из этот сайт:

http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

моя проблема была там! Надеюсь, это поможет.