Как заставить 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/"
- 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 и сборкой. Что именно вы установили и где вы это взяли?
попробуйте это:
- полностью остановить WAMP.
- найти папку ПУВР:\C:\Path\To\WAMP\bin\Apache\ApacheVersion\bin
- отредактируйте этот php.расширение ini и uncomment=php_curl.dll файлы
- перезапустить 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/
моя проблема была там! Надеюсь, это поможет.