php curl работает из cli, но не из apache

#php #curl #apache2

#php #curl #apache2

Вопрос:

Я никак не могу заставить cURL работать изнутри Apache. На самом деле это тоже довольно странно при условии, что:

  1. Я могу запускать свои PHP-страницы из CLI, и он отлично отправляет мои запросы
  2. Когда я просматриваю свои журналы ошибок, я получаю «PHP Fatal error: вызов неопределенной функции curl_init()», как будто расширение вообще не установлено. Аналогично, быстрое `phpinfo()` также выдает результат, например, если расширение не установлено.

Кроме того, когда я создавал PHP, я выбрал флаг «—enable-curl».

Комментарии:

1. Для CLI и Apache есть другой php.ini, возможно, у вас Apache php.ini не загружает CURL

Ответ №1:

Вероятно, вы не загружаете расширение в соответствующий php.ini . Файл должен содержать что-то вроде:

 [PHP_CURL]
extension=php_curl.dll
  

Кроме того, --enable-curl не является опцией настройки PHP. --with-curl=[DIR] это то, что вам нужно. Ознакомьтесь с инструкциями по установке cURL.

php_curl.dll при правильной настройке должен находиться внутри ext каталога PHP.

Ответ №2:

У меня была такая же проблема после установки php5-curl. Я перезагрузил apache, и это исправило проблему.

перезапуск sudo / etc/init.d / apache2 для ubuntu 12.04

Ответ №3:

У меня была похожая проблема — работал с cli, беззвучный сбой с Apache 2.4

Я пробовал:

1) копирование ssleay32.dll и libeay32.dll из папки php в папку apache bin — не сработало

2) удаление ssleay32.dll и libeay32.dll из папки apache bin полностью — СРАБОТАЛ.

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

Также вы должны установить как x86, так и x64 версии C , перераспространяемые Visual Studio от Microsoft.