как удалить Неустранимая ошибка: вызов неопределенной функции curl_init()

У меня возникает следующая ошибка при использовании расширения curlas

Неустранимая ошибка: вызов неопределенной функции curl_init() в C:\wamp\www***\index.php в строке 15


у меня следующая конфигурация

;extension=php_bz2.dll 
extension=php_curl.dll 
;extension=php_dba.dll

я установил wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-x64.exe

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


person Ashish Kasma    schedule 26.09.2012    source источник
comment
Действительно ли все эти директивы расширения находятся в одной строке? Если да, то он недействителен (и все равно закомментирован)   -  person Michael Berkowski    schedule 26.09.2012
comment
Кроме того, убедитесь, что вы изменяете правильный php.ini. Проверьте вывод phpinfo(), чтобы увидеть, какой файл php.ini загружается, и загрузите расширение в этом файле.   -  person Michael Berkowski    schedule 26.09.2012
comment
Вы пытаетесь загрузить страницу через браузер на локальном компьютере или выполнить скрипт через командную строку?   -  person newfurniturey    schedule 26.09.2012
comment
@MichaelBerkowski не в одной строке ... это было в коде stackoverflow ... другое дело, да, я проверил все доступные php.ini ... хотя я исправил ini, на который ссылался в phpinfo ()   -  person Ashish Kasma    schedule 26.09.2012
comment
@newfurniturey использует браузер на локальном компьютере....   -  person Ashish Kasma    schedule 26.09.2012


Ответы (4)


Если вы столкнулись с этой проблемой при выполнении командной строки PHP с сервером wamp, это связано с тем, что PHP не содержит ссылку на модифицированный wamp файл php.ini (имеется только экземпляр apache). Без него такие вещи, как curl, не будут работать должным образом.

Чтобы это исправить, вам нужно скопировать файл php.ini из папки Apache в папку PHP.

  • Путь Apache: [каталог установки wamp]\bin\apache\apache2.2.22\bin\php.ini
  • Путь PHP: [каталог установки wamp]\bin\php\php5.4.3\php.ini

Вы можете обновить версии apache/php в путях к папкам, если ваши не совпадают.

person newfurniturey    schedule 26.09.2012

2 решения:

  1. Включить плагин

    • in wamp this is done in the right click menu.
    • В Linux - это, вероятно, будет в php.ini (хотя не забудьте перезапустить Apache!)
  2. Проверьте существование завитка, прежде чем пытаться его использовать:

    • if(!function_exists('curl_init')) echo "cURL not installed. Trying something else...";
person Shadow    schedule 26.09.2012

Раскомментируйте эту строку в php.ini

extension=php_curl.dll 

И не забудьте установить каталог расширений в вашем php.ini

extension_dir = “/usr/local/php5/ext”
person Karl Glennon    schedule 06.09.2013

Есть решение со всеми необходимыми деталями:

http://www.youtube.com/watch?v=7qNTi1sEfE8

Она на французском языке, но вы все понимаете! Я решил ту же проблему, даже не говоря по-французски. :-)

Многие ответы забывают упомянуть, что вам нужно добавить новую версию файла php_curl.dll из этого места: http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/

Я добавил новую версию php_curl.dll из архива php_curl-5.4.3-VC9-x64.zip в папки: C:\wamp\bin\php\php5.4.3\ext и C:\Windows\System32 и все стало нормально!

person Nemanja Vujacic    schedule 23.12.2013