Php curl init: PHP: curl_init — Manual
Содержание
php — Вызов неопределенной функции curl_init() в IIS
У меня есть IIS 10, и моя программа вызывает функцию curl_init для выполнения вызовов API. Но я получаю эту ошибку:
«Вызов неопределенной функции curl_init()» . Также, когда я смотрю на вывод phpinfo(), раздел cURL не отображается.
Я трижды проверил файл php.ini на наличие extension=curl и ext папку на php_curl.dll . Я также загрузил файлы ssleay32.dll libeay32.dll в папку system32 в C:. Пару раз перезагружал сервер. Тем не менее, когда я проверяю phpinfo(), там нет раздела curl.
Вот что я нашел в StackOverflow:
аналогичная ошибка
Ответ joshjdevl может быть решением, но в чем разница между потокобезопасным и непотоковым пакетом PHP
Почему это работает?
о включении расширения curl здесь сказано, что нужно «добавить пути вашего каталога PHP в переменную PATH среды Windows для зависимостей . dll». , но на моей локальной машине — моей другой машине — (с wampserver) я не добавлял PHP в переменные среды, и это работает, так что мне действительно нужно это делать?
о том, чтобы убедиться, что система использует правильный файл php.ini Когда я смотрю на вывод phpinfo, я вижу путь к файлу php.ini. Исходя из этого, я предполагаю, что IIS использует этот файл php.ini. Я не ожидаю, что он будет использовать другой.
об установке расширения curl
Я просмотрел более 30 страниц StackOverflow и до сих пор не нашел решения.
- php
- curl
- iis
После 8 часов поиска и десятков вопросов StackOverflow я, наконец, добавил путь PHP к переменным среды, и в выводе метода phpinfo() начал отображаться раздел cURL и ошибка исчезла.
Пуск Windows -> Изменить переменные системной среды -> Дополнительно -> Переменные среды -> Создать. добавить пути PHP к переменным среды на моем локальном компьютере. Я предполагаю, что это может быть связано с конфигурациями wampserver.
4
Откройте файл php.ini и перейдите к строке с этой записью ;extension_dir = «ext». Удали это ; так что php будет искать php_curl.dll , а также другие dll в папке ext.
Перейдите к строке с этой записью ;extension=php_curl.dll. Удалить ;
Сохранить.
Затем перезапустите IIS.
Проверить с помощью phpinfo().
Это должно загрузить curl и другие модули.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
debian — Неустранимая ошибка PHP: вызов неопределенной функции curl_init()
спросил
Изменено
3 года, 7 месяцев назад
Просмотрено
2к раз
У меня есть эта проблема:
PHP Неустранимая ошибка: вызов неопределенной функции curl_init() в /var/www/html/. .. в строке 1495
Я включил curl в моем php.ini:
extension=php_curl.dll
, но в моем журнале ошибок apache я вижу это:
Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/20131226/php_curl.dll' - /usr/lib/php/20131226/php_curl .dll: невозможно открыть общий объектный файл: нет такого файла или каталога в неизвестном в строке 0 Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/20131226/php_gd2.dll' - /usr/lib/php/20131226/php_gd2.dll: невозможно открыть общий объектный файл: нет такого файла или каталога in Неизвестно в строке 0 Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/20131226/php_mbstring.dll' - /usr/lib/php/20131226/php_mbstring.dll: невозможно открыть общий объектный файл: нет такого файла или каталога in Неизвестно в строке 0 Предупреждение PHP: запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/20131226/php_mysql. dll' - /usr/lib/php/20131226/php_mysql.dll: невозможно открыть общий объектный файл: нет такого файла или каталога in Неизвестно в строке 0
Я безуспешно пытался установить расширение curl.
Есть идеи, как это исправить? Я понятия не имею.
ИМЯ="Debian GNU/Linux" VERSION_ID="10" ВЕРСИЯ="10 (бастер)" VERSION_CODENAME=бастер
- debian
- apache-http-server
- php
Во-первых, .dll
— это расширение файла Microsoft Windows. В мире Linux суффикс для динамических библиотек — .so
.
Похоже, вы копируете/вставляете немного быстро….
В Linux вы должны использовать extension=curl
(текущая установка в моем Debian) или extension=php_curl
(в зависимости от вашей системы…).
Кроме того, вы должны убедиться, что в вашей системе установлена привязка PHP CURL.
$ dpkg -l|grep -i curl
ii libcurl3-gnutls:amd64 7.64.0-4 amd64 простая в использовании клиентская библиотека для передачи URL-адресов (разновидность GnuTLS)
ii libcurl4:amd64 7.