2008-10-08 6 views
51

Я следовал всем инструкциям: http://www.tonyspencer.com/2003/10/22/curl-with-php-and-apache-on-windows/Как установить cURL на Windows?

установить & конфигурации Apache получить PHP5 пакеты и получить пакеты CURL.

Я запускаю apache и запускаю скрипт PHP. без проблем. , но когда я запускаю скрипт php с помощью curl, он терпит неудачу.

возвращает: **Call to undefined function curl_version() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\testing.php on line 5**

В какой строке 5 является призван curl_init()

I вывода 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 Я понятия не имею, почему это не работает. даже я следую за каждым шагом для его настройки. :(

+4

Предполагая, что у людей все еще есть эта проблема в 2012 году (как и я), я опубликую несколько обновлений. Apache (текущая версия 2.2.21) теперь выпускает 2 разных версии, что делает включение завитки намного проще. Необходимая версия Apache - это поддержка с поддержкой SSL. Установите его, затем установите php, как вы привыкли. В php.ini раскомментируйте строку; extension = php_curl.dll, если вы этого не сделали, и вы готовы к работе. Не нужно ничего загружать. – 2012-01-29 06:14:18

+0

Читатели могут найти это полезным для Windows x64. http://stackoverflow.com/questions/25044010/running-curl-on-64-bit-windows – MacGyver 2014-12-10 17:28:52

ответ

20

Возможно, вы ошибаетесь, что PHP.ini вам нужно отредактировать. Сначала добавьте PHPinfo(), в info.php и запустите его с вашего браузер

Запишите путь к каталогу PHP ini, который вы видите в списке переменных сейчас! Возможно, вы заметите, что он отличается от вашего INI-файла PHP-CLI.

Включить расширение

Вы сделали :-)

+1

У меня возникла проблема с пакетом установщика xampp. Это структура дерева каталогов сбивает с толку, если не сказать больше. Папка php, с которой вы играете, редко бывает правильной. phpinfo() - сказочный инструмент для устранения проблем. + 1 для этого ответа, - 1 для тех, кто проектировал древовидную структуру xampp (что я предполагаю, был виновником в этом случае). – 2009-07-20 08:22:51

+0

Нужно ли что-либо конфигурировать в apache – Bharanikumar 2015-10-15 14:58:49

13

Я использую XAMPP, в котором есть несколько php.ini файлов

Вы можете найти строку в файлах php.ini:. ;extension=php_curl.dll

Пожалуйста, удалите ; в начале этой строки. Возможно, вам придется перезапустить сервер apache.

+0

Простое исправление, отлично работает – AjayR 2011-05-03 00:41:12

0

Я решил проблему.

В моей апача, я должен указать:

PHPIniDir "C: // PHP" AddType применение/х-HTTPD-PHP .php

и php.ini, вместо использования php.ini_recommend, используйте php.ini_dist для настройки моего php.ini.

затем убедитесь, что двигатель php включен. , тогда он работает сейчас. Спасибо всем.

2

Недавно я установил Curl на PHP5 для Windows Vista. Я сделал не включил библиотеку CURL, когда я изначально установил PHP5, поэтому ничего не появилось в Curl в phpinfo() или php.ini.

Я установил CURL, перезапустив установщик PHP5 (php-5.2.8-win32-installer.msi для меня) и выбрав «Изменить». Затем я добавил компонент CURL. Перезапустите Apache, и CURL должен работать. CURL появится в phpinfo(). Кроме того, вот пример скрипта, который вы можете запустить, чтобы проверить, работает ли он. Он отображает 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); 
    ?> 
0

Вы можете использовать бинарный файл завиток файла .download здесь: http://www.paehl.com/open_source/?CURL_7.22.0 Скачать файл и после выписки положить в любой диск и установить абсолютный путь в окружающую среду в настоящее время вы также можете использовать curl в качестве команды в окнах. например c: \ curl -u [email protected]: пароль http://localhost:3000/user/sign_in

9

У меня также были проблемы с этим. После того, как все эти шаги сделаны правильно и некоторые исправленные недоразумения (нет extensions_dir, но extension_dir, и нет session.save_path, но session.save_path) ничего не работает.

Наконец я нашел записку на php.net:

Примечание: Обратите внимание на Win32 пользователей: Чтобы включить этот модуль на среде Windows, libeay32.dll и ssleay32.dll должны присутствовать в вашем ДОРОЖКА. Вам не нужно libcurl.dll с сайта cURL.

Я скопировал ssleay32.dll, libeay32.dll & php_curl.dll С/PHP для Windows/system32 и заменить уже существующие файлы (я заметил, что были более старые версии ssleay32.dll и libeay32.dll). После этого я нашел раздел CURL в php_info(); и, наконец, все работает.

Удачи вам!

+0

Это примечание очень важно, оно решило мою проблему. Я считаю, что это должен быть принятый ответ. – 2016-01-31 19:11:22

2

Примечание: Примечание для пользователей Win32 Чтобы включить этот модуль (cURL) в среде Windows, libeay32.dll и ssleay32.dll должно присутствовать в вашем PATH. Вам не нужно libcurl.dll с сайта cURL.

Эта записка решена с моей проблемой. Мысль об обмене. libeay32.dll & ssleay.dll вы найдете в папке установки php.

45

Используйте следующие шаги, чтобы установить завиток:

  1. Открыть https://curl.haxx.se/dlwiz?type=bin в браузере.

  2. Выберите операционную систему в раскрывающемся списке: либо Windows/Win32, либо Win 64. Нажмите «Выбрать»!

  3. Для Win 32 выберите, будете ли вы использовать завиток в командной строке Windows (Generic) или на терминале Cygwin (cygwin). Для Win 64 выберите, будете ли вы использовать завиток в командной строке Windows (Generic) или MinGW (MinGW64). Нажмите «Выбрать»!

  4. При необходимости выберите операционную систему Windows. Конец.

  5. Нажмите кнопку Загрузить для версии, которая позволила SSL или выключен

  6. Откройте загруженный файл почтового индекса. Извлеките файлы в удобное для поиска место, например C: \ Program Files.

Тестирование свернуться

  1. Открывают строки терминала командной строке Windows. (В меню «Пуск» выберите «Выполнить», затем введите cmd.)

  2. Установите путь, чтобы включить каталог, в который вы положили curl.exe. Например, если вы поместите его в C: \ Program Files \ локон, то вы должны ввести следующую команду: набор путь =% путь%; "C: \ Program Files \ завиток"

ПРИМЕЧАНИЕ: Вы также можете напрямую скопировать файл curl.exe любым существующим путем по вашему пути.

  1. Тип curl. Вы должны увидеть следующее сообщение: curl: попробуйте 'curl -help' или 'curl -message' для получения дополнительной информации Это означает, что завиток установлен, и путь правильный.
1

Я согласен с Erroid, вы должны добавить каталог PHP в среду PATH.

PATH=%PATH%;<Your_PHP_Path> 

Пример

PATH=%PATH%;C:\php 

Он работал для меня. Спасибо.

2

Другой ответ для других людей, которые имели эту проблему

когда вы отмените комментарий расширение линии, изменить его на:

расширение = C: /php/ext/php_curl.dll

или расположение папки расширения, для меня это не сработало, пока я не сделал это

0

Вы также можете использовать CygWin и установить пакет cURL. Он работает очень хорошо и безупречно !!