Как установить cURL на Windows?
Я выполнил все инструкции здесь: http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/
для установки и настройки apache
получить пакеты PHP5
и получить пакеты CURL.
Я запускаю apache и запускаю PHP скрипт. без проблем.
но когда я запускаю php script с завитком, он терпит неудачу.
Он возвращает: **Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**
В какой строке 5 вызывается curl_init()
Я вывожу php -i, чтобы узнать, вызывается ли правильный путь к расширению. Он правильно установлен:
extension_dir => C:\PHP\ext => C:\PHP\ext
cURL support => enabled
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8g zlib/1.2.3
Я даже пытался запустить curl_version()
, но все же возникает ошибка такого же типа.
Похоже, что PHP не может найти расширение CURL, но php.ini
(а также php -i) показывает, что он установлен.
любая идея?:)
P.S> System I m running on:
Windows XP
Apache 2.2
PHP 5.2.6
CURL Win32 Generic Binaries: Win32 2000/XP metalink 7.19.0 binary SSL enabled Daniel Stenberg 249 KB
Я не получил этого:
Win32 2000/XP 7.19.0 libcurl SSL enabled Günter Knauf 1.55 MB
Should I get this one instead?
Причина, по которой мне нужно использовать CURL, заключается в том, что это требование из моего проекта. Поэтому я могу только придерживаться этого.
XAMPP... как он работает в Windows? Есть ли сайт, который вы можете порекомендовать? Спасибо.
Я пробовал много вещей при установке cURL и проверял все, но все же, я все еще кручусь вокруг проблемы и понятия не имею, что происходит.
Сервер Apache использует правильный PHP.ini. и PHP.ini имеет правильный extension_dir и extension = php_curl.dll
Я понятия не имею, почему это не работает. даже я следую за каждым шагом для его настройки.: (
Ответы
Ответ 1
Вероятно, вы ошибаетесь, что PHP.ini вам нужно изменить. сначала добавьте PHPinfo(); на info.php и запустите его из своего браузера.
Запишите путь каталога PHP ini, который вы видите в списке переменных сейчас!
Вероятно, вы заметите, что он отличается от вашего INI файла PHP-CLI.
Включить расширение
Вы закончили: -)
Ответ 2
Используйте следующие шаги для установки curl:
-
Откройте https://curl.haxx.se/dlwiz?type=bin в браузере.
-
Выберите операционную систему в раскрывающемся списке: либо Windows/Win32, либо Win 64. Нажмите "Выбрать!"
-
Для Win 32 выберите, будете ли вы использовать завиток в командной строке Windows (Generic) или на терминале Cygwin (cygwin). Для Win 64 выберите, будете ли вы использовать завиток в командной строке Windows (Generic) или MinGW (MinGW64). Нажмите "Выбрать!"
-
При необходимости выберите свою операционную систему Windows. Готово.
-
Нажмите "Загрузить" для версии с включенным или отключенным SSL
-
Откройте загруженный zip файл. Извлеките файлы в удобное для поиска место, например C:\Program Files.
Тестирование завитка
-
Откройте терминал командной строки Windows. (В меню "Пуск" выберите "Выполнить", затем введите cmd.)
-
Задайте путь для включения каталога, в который вы помещаете curl.exe. Например, если вы поместите его в C:\Program Files\curl, вы должны ввести следующую команду:
set path =% path%; "c:\Program Files\curl"
ПРИМЕЧАНИЕ. Вы также можете напрямую скопировать файл curl.exe любым существующим путем в вашем пути.
- Тип curl.
Появится следующее сообщение:
curl: попробуйте 'curl -help' или 'curl -message' для получения дополнительной информации
Это означает, что завиток установлен, и путь правильный.
Ответ 3
Я использую XAMPP, в котором есть несколько файлов php.ini.
Вы можете найти строку в файлах php.ini:
;extension=php_curl.dll
Удалите ;
в начале этой строки. Возможно, вам придется перезапустить сервер Apache.
Ответ 4
У меня также были проблемы с этим. После того, как все эти шаги сделаны правильно и некоторые исправленные недоразумения (нет extensions_dir, но extension_dir, и нет session.save_path, но session.save_path) ничего не работает.
Наконец, я нашел эту заметку на php.net:
Примечание. Примечание для пользователей Win32:
Чтобы включить этот модуль в среде Windows, libeay32.dll и ssleay32.dll должны присутствовать в вашем PATH. Вам не нужно libcurl.dll с сайта cURL.
Итак, я скопировал ssleay32.dll, libeay32.dll и php_curl.dll От /PHP до Windows/system32 и заменил уже существующие файлы (я заметил, что были старые версии ssleay32.dll и libeay32.dll). После этого я нашел раздел CURL в php_info(); и, наконец, все работает.
Удачи!
Ответ 5
Недавно я установил Curl на PHP5 для Windows Vista. Я не включил CURL-библиотеку, когда я первоначально установил PHP5, поэтому ничего не появилось в phpinfo() или php.ini.
Я установил CURL, перезапустив установщик PHP5 (php-5.2.8-win32-installer.msi для меня) и выбрав "Изменить". Затем я добавил компонент CURL. Перезапустите Apache, и CURL должен работать. CURL появится в phpinfo(). Кроме того, здесь приведен пример script, который вы можете запустить, чтобы проверить, работает ли он. Он отображает RSS-канал от Google:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'http://news.google.com/news?hl=en&topic=t&output=rss');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec ($ch);
echo $contents;
curl_close ($ch);
?>
Ответ 6
Примечание. Примечание для пользователей Win32
Чтобы включить этот модуль (cURL) в среде Windows, libeay32.dll и ssleay32.dll должны присутствовать в вашем PATH. Вам не нужно libcurl.dll с сайта cURL.
Эта заметка решила мою проблему. Мысль об обмене. libeay32.dll и ssleay.dll вы найдете в папке установки php.
Ответ 7
Другой ответ для других людей, у которых была эта проблема
когда вы прокомментируете линию расширения, измените ее на:
расширение = С:/php/ext/php_curl.dll
или расположение папки расширения, для меня это не сработало, пока я не сделал это
Ответ 8
Вы можете найти XAMPP в http://www.apachefriends.org/en/xampp.html
http://www.apachefriends.org/en/xampp-windows.html объясняет XMAPP для Windows.
Да, после установки есть 3 файла php.ini, один для php4, один для php5, а один для apache. Пожалуйста, измените их соответствующим образом.
Ответ 9
Я согласен с Erroid, вы должны добавить каталог PHP в среду PATH.
PATH=%PATH%;<Your_PHP_Path>
Пример
PATH=%PATH%;C:\php
Это сработало для меня. Спасибо.
Ответ 10
Я решил проблему.
В моем apache я должен указать:
PHPIniDir "C://php"
Приложение AddType/x-httpd-php.php
а для php.ini вместо использования php.ini_recommend используйте php.ini_dist для настройки моего php.ini.
затем убедитесь, что двигатель php включен.
то он работает сейчас. Спасибо всем.
Ответ 11
Вы можете использовать двоичный файл файла curl.download отсюда:
http://www.paehl.com/open_source/?CURL_7.22.0
Загрузите файл и после того, как извлеките его на любой диск и установите абсолютный путь в среду, вы также можете использовать curl в качестве команды в окнах. как
c:\curl -u [email protected]: пароль http://localhost:3000/user/sign_in
Ответ 12
Вы также можете использовать CygWin и установить пакет cURL. Он работает очень хорошо и безупречно!