php — Включить cURL в Windows 10

Вот шаги для включения curl в Windows:

 ...
; Каталог, в котором находятся загружаемые расширения (модули).
; http://php.net/расширение-каталог
; extension_dir = "./"
; На окнах:
extension_dir = "C:\PathToMyPhp\ext"
...
расширение = php_curl.dll
...
[завиток]
; Значение по умолчанию для параметра CURLOPT_CAINFO. Это необходимо, чтобы быть
; абсолютный путь.
curl.cainfo = C:\PathToMyFile\cacert.pem
 

1 — Убедитесь, что ваш extension_dir указывает на каталог расширения php.

2 — раскомментировать или добавить расширение .dll имя.

Вот правильный синтаксис по соглашению для расширений php: php_nameOfTheExtension.dll

.dll помещаются в каталог расширений php или вы должны поместить его сюда в случае загрузки третьей стороной.

3 — cacert.pem является необязательным и используется для транзакций SSL.

Скачать здесь: https://curl.haxx.se/docs/caextract.html

4 — Проверьте с помощью phpinfo() наличие curl в списке и проверьте конфигурацию.

5 — В случае ошибки проверьте error.log и access.log Apache

Изменить 1:

6 — Я забыл: добавьте пути вашего каталога php в переменную PATH среды Windows для зависимостей .dll.

Вопрос/Ответ здесь: Включить CURL в Windows для PHP5.6.4

Изменить 2: Вот путь к файлам:

В зависимости от установки и версии MySQL

C:\Program Files\MySQL\MySQL Server 8.0\bin\libeay32.dll

C:\Program Files\MySQL\MySQL Server 8.0\bin \ssleay32.dll

В зависимости от вашего каталога php

C:\php7\libssh3.dll

Редактировать 3:

Пример конфигурации расширений с правильным синтаксисом, взятым из PHP5, но работающим также для PHP7:

; Расширения Windows
; Обратите внимание, что поддержка ODBC встроена, поэтому для нее не требуется dll.
; Обратите внимание, что многие файлы DLL находятся в расширениях/ (PHP 4) ext/ (PHP 5+)
; расширения, а также отдельную загрузку PECL DLL (PHP 5+).
; Обязательно правильно установите директиву extension_dir. 
;
;расширение=php_bz2.dll
расширение = php_curl.dll
расширение = php_fileinfo.dll
;расширение=php_ftp.dll
расширение = php_gd2.dll
;расширение=php_gettext.dll
;расширение=php_gmp.dll
расширение = php_intl.dll
;расширение=php_imap.dll
;расширение=php_interbase.dll
;расширение=php_ldap.dll
расширение = php_mbstring.dll
расширение=php_exif.dll ; Должно быть после mbstring, так как это зависит от него
расширение = php_mysqli.dll
;расширение=php_oci8_12c.dll ; Использование с Oracle Database 12c Instant Client
;расширение=php_odbc.dll
расширение = php_openssl.dll
;расширение=php_pdo_firebird.dll
расширение = php_pdo_mysql.dll
;расширение=php_pdo_oci.dll
расширение = php_pdo_odbc.dll
;расширение=php_pdo_pgsql.dll
расширение = php_pdo_sqlite.dll
;расширение=php_pgsql.dll
;расширение=php_shmop.dll
; Данные MIBS, доступные в дистрибутиве PHP, должны быть установлены.
; См. http://www.php.net/manual/en/snmp.installation.php
;расширение=php_snmp.dll
;расширение=php_soap.dll
расширение = php_sockets.
dll расширение = php_sqlite3.dll ;расширение=php_tidy.dll ;расширение=php_xmlrpc.dll расширение = php_xsl.dll zend_extension="C:\php-7.1.22\ext\php_opcache.dll" zend_extension="C:\php-7.1.22\ext\php_xdebug-2.6.1-7.1-vc14-x86_64.dll"

Надеюсь, это поможет.

apache — Php curl на windows 10, php 5.6.17

Задавать вопрос

спросил

Изменено 2 года, 8 месяцев назад

Просмотрено 7к раз

Много похожих тем, но ни одно решение не решило мою проблему на 10 окошке (на новом компе комп полный чистый).

Я устанавливаю EasyPhp с php 5.6.17 на Windows 10, молодец! => curl_init() не работает

Теперь я хочу установить curl. Во-первых, в php.ini я раскомментировал строку «extension=php_curl. dll» (это хороший php.ini, я вижу путь в phpinfo()) и перезапустил Apache. => curl_init() не работает

Я добавляю libeay32.dll, libssh42.dll и ssleay32.dll в Windows/system32. => curl_init() не работает

На этом шаге работа с curl выполнена на моей Windows 7.

Я добавляю libeay32.dll, libssh42.dll и ssleay32.dll в Apache/bin. => curl_init() не работает

Я добавляю php_curl.dll в Windows/system32. => curl_init() не работает

Пробую php_curl.dll 32 и 64. => curl_init() не работает

Я устанавливаю программное обеспечение OpenSSL (для curl требуется ssl). => curl_init() не работает

У меня нет сообщения об ошибке, кроме «Неустранимая ошибка: вызов неопределенной функции curl_init()». phpinfo() никогда не отображает модуль curl.

У меня заканчивается раствор, есть идеи?

  • php
  • apache
  • curl
  • windows-10
  • easyphp

Я обнаружил проблему (после целого дня работы над этой проблемой).

Если вы столкнулись с той же проблемой, попробуйте следующее:

  • откройте командную строку и перейдите в корневой каталог php
  • .
  • исполняемый файл: deplister.exe ext\php_curl.dll
  • проверить зависимости

У меня отсутствовал файл libssh42.dll, но он был в Windows/system32 и apache/bin. Чтобы решить эту проблему, я добавляю каталог php в окна пути и копирую файл libssh42.dll в каталог php.

Источник

2

У меня была точно такая же проблема с этой настройкой разработчика:

  • Windows 10
  • PHP 5.6.27
  • Apache 2.2 (да, я знаю, что v2.4 новее)

В PHP-CLI работает (загружается расширение php curl), но не при запуске через Apache (не загружается расширение php curl).

Потратив немало времени на чтение об этом и испробовав различные решения, больше всего мне помог *Jeremy с командой «deplister».

Оказывается (для меня) одни и те же dll-файлы (типа libeay32. dll и ssleay32.dll) присутствуют в разных папках (типа php/, apache/bin и windows/system32). Однако, даже если они называются одинаковыми, существуют разные их версии, на которые указывают разные даты и размеры.

Что заставило php-curl волшебным образом работать для меня, так это заменить libeay32.dll и ssleay32.dll в apache/bin более новыми версиями, которые я нашел в php/ (корневая папка php), и перезапустить службу apache.

Все эти папки присутствуют в системном PATH, но Apache, очевидно, сначала ищет в своей собственной папке bin. Итак, я обнаружил, что лучше копировать более новые dll в папку bin Apache, а не полагаться на системный PATH.

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

В дополнение к ответу kapy47: в моем случае я проверил libssh3.dll в каталогах apache/bin и php, они были разных версий. Я заменил более новые версии в apache/bin, и проблема была решена

Конфигурация системы: ОС: Вин 10 64бит Сервер: Вамп Версия Php: 5.6.40

Скопируйте файл libssh3.