Xpoint
   [напомнить пароль]

cURL не работает с Apache

Метки: [без меток]
2007-06-23 21:26:15 [обр] Даниил Иванов(0/63)[досье]

Имеем: php 5.2.3, Windows XP, Apache 1.3.33
Проблема - не определяется модуль cURL, если PHP запускать из под Apache
В php.ini extension=php_curl.dll раскомментирован, extension_dir установлен правильно,
 libeay32.dll и ssleay32.dll скопированы в c:\windows\system32.
Тем не менее функция phpinfo() модуль cURL в числе установленных не показывает, и при запуске Апача в лог пишется следующее:

PHP Startup: Unable to load dynamic library 'c:/php/ext/php_curl.dll' - Не найден указанный модуль.

Если запускать php из командной строки, то скрипты, содержащие команды из cURL, отрабатывают нормально, а если запускать из под Апача, то выдают следующее:
Fatal error: Call to undefined function: curl_init() - причём независимо от того, как поставлен PHP - как CGI или как модуль.

В инете неоднократно натыкался на описание данной проблемы - именно для модуля cURL, но способы решения, которые там предлагались,не помогают. Причём я уже сменил PHP 5.2 на PHP 5.2.3 - всё равно не помогло.

спустя 5 часов [обр] Давид Мзареулян(536/1003)[досье]
PHP Startup: Unable to load dynamic library 'c:/php/ext/php_curl.dll' - Не найден указанный модуль.
Так он там есть, или его там нет?
спустя 10 часов [обр] Даниил Иванов(0/63)[досье]
Давид Мзареулян[досье]
В том то и дело, что есть.
спустя 2 часа 38 минут [обр] Давид Мзареулян(536/1003)[досье]
А как Вы из командной строки скрипты пускаете? С php.ini или нет?
спустя 16 минут [обр] Даниил Иванов(0/63)[досье]
Давид Мзареулян[досье]
Запускаю
как php.exe имя_скрипта
Больше ничего не указываю.
спустя 5 часов [обр] Давид Мзареулян(536/1003)[досье]
При запуске руками и из апача у Вас а) разные рабочие каталоги (во втором случае — каталог апача), б) разные php.ini. Вот в эту сторону и надо копать.
спустя 2 часа 18 минут [обр] Даниил Иванов(0/63)[досье]
Давид Мзареулян[досье]
php.ini у меня один - проверил поиском по диску. То, что используется один и тот же php.ini легко подтверждается также тем фактом, что вносимые в него изменения влияют как на запуск скриптов из под Апача, так и из командной строки.
спустя 1 час 46 минут [обр] Василий Свиридов(53/175)[досье]

Даниил Иванов[досье]Лучше сделайте файл c вызовом

<?php
phpinfo();
?>

и откройте его через браузер.
А потом запустите в командной строке php -i | grep ini и проверьте пути к php.ini в том виде как их видит php, а не по наличию файла на диске.

спустя 17 минут [обр] Даниил Иванов(0/63)[досье]
Василий Свиридов[досье]
Это..В Windows нет команды grep)
спустя 27 минут [обр] Василий Свиридов(53/175)[досье]
Даниил Иванов[досье]Ну глазами посмотрите на путь к php.ini
спустя 19 минут [обр] Даниил Иванов(0/63)[досье]
Василий Свиридов[досье]
В смысле? php.ini у меня там же, где и php.exe
спустя 5 часов [обр] Дмитрий Попов(171/509)[досье]
Даниил Иванов[досье]
В том, что PHPinfo выдает найдите путь к php.ini.
Какая разница что у Вас на диске?
спустя 3 часа 35 минут [обр] Давид Мзареулян(536/1003)[досье]
Даниил Иванов[досье] А apache.exe у Вас тоже там же, где и php.exe?
спустя 10 часов [обр] Даниил Иванов(0/63)[досье]

Дмитрий Попов[досье]
phpinfo() выдаёт путь к php.ini тот же, где я его и правлю - с:\PHP\php.ini

Давид Мзареулян[досье]
В разных, конечно.

спустя 21 минуту [обр] Василий Свиридов(53/175)[досье]
Даниил Иванов[досье]А что выдаёт php -i? Бинарник по умолчанию может искать конфиг в другом месте, в зависимости от параметров компиляции. Уже не в первый раз я сталкивался с тем, что mod_php.dll и php.exe смотрят на разные ини файлы и то, что работает в одном - не работает в другом.
спустя 51 минуту [обр] Даниил Иванов(0/63)[досье]

Василий Свиридов[досье]
php -i выдаёт следующее:

Configuration File (php.ini) Path => C:\WINDOWS
Loaded Configuration File => C:\PHP\php.ini

Перенесение файла php.ini в каталог Windows ситуации не меняет.

спустя 7 часов [обр] Степаныч(50/50)[досье]
Только что попытался подключить cURL.
Пришлось php_curl.dll так же копировать в c:\windows\system32
спустя 1 час 34 минуты [обр] Дмитрий Попов(171/509)[досье]
Попробуйте c:/php/ext/ в PATH добавить (Мой компьютер->правый клик->свойства->Дополнительно->Переменные среды)
спустя 2 дня 4 часа [обр] Даниил Иванов(0/63)[досье]
Степаныч[досье]
Этот совет я встречал на форумах в инете, когда искал решение данной проблемы. Сделал так - не помогло.
Дмитрий Попов[досье]
Тоже не помогло.
спустя 3 дня [обр] Сергей Сирик(180/737)[досье]

Даниил Иванов[досье]
Как с остальными модулями? Например php_mysql??? Подключается? Или это только cURL такой противный?

Хм, у меня тоже не грузится ... На очень другой конфигурации (Апач 2.2 плюс РНР 5.1.6 под Зенд-студией). Но не в этом суть. Эксперимент с запуском Апача из командной строки (точнее из FARа) показал интересное. Без попыток подключить Курл - все пучком запускается. При попытке подключить Курл выдает ошибку в ... php5ts.dll.

спустя 27 минут [обр] Даниил Иванов(0/63)[досье]
Сергей Сирик[досье]
Все остальные модули подключаются нормально.
спустя 1 месяц 29 дней [обр] Bolot Dmitry[досье]
если у проблеммы появилось решение, то я очень хотел бы его услышать, ибо у меня возникла абсолюно идентичная прогблемма. пробовал апач 2.0.х и 2.2.х результат плачевный
спустя 1 час 30 минут [обр] Даниил Иванов(0/63)[досье]
Bolot Dmitry[досье]
Увы, у меня решения не появилось.
спустя 2 месяца 1 день [обр] Nehxby[досье]

Здрысьте!
У меня возникла аналогичная проблема, долго искал решение, поставил более новую версию РНР, в итоге нашел этот форум. Решения здесь не было, поэтому пробовал дальше сам.

В итоге все заработало - вот решил поделиться, что у меня было не так. Может, это поможет кому-то еще. Я проверил библиотеки libeay32.dll и ssleay32.dll в систем32, и оказалось, что хоть по названиям они и совпадают, но размеры - другие, чем в моей версии РНР. Я их заменил и все заработало.

Я себе ставил зенд студию, и перед тем стояла более ранняя версия РНР. Возможно, кто то из них поставил свои библиотеки, и они там оставались - устаревшие.

спустя 9 месяцев [обр] Андрей[досье]
Спасибо за последний совет!!!
спустя 1 год 8 месяцев [обр] tsiger[досье]
Спасибо за советы, особенно последний от "Nehxby" . Я полез в C:\windows\system32 и обнаружил, что библиотеки libeay32.dll и ssleay32.dll не совпадают по размерам, с оригинальными. Я устанавливал мемкешед, возможно после этого. Так, что если вы чот добавляли, в систем32 гоу :)
спустя 1 год 8 месяцев [обр] Валентин[досье]
возникла такая же проблема, воспользовался командой php -i | grep ini
показала что не хватает библиотеки zlib1.dll
в папке с апачем она была, записал копию в папку с ПХП
повторил команду, показала не хватает библиотеки zlib.dll записал в папку с апачем и все заработало.
и еще все библиотеки тоже были php5ts.dll в том числе, так что учитывайте наличие всех библиотек необходимых.
Powered by POEM™ Engine Copyright © 2002-2005