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.