Настройка: 1. Веб-сайт Joomla 1.5 на сервере LAMP (CentOS 5.2 / Apache 2.2 / PHP 5.2.9 / mysql 5) 2. Добавлен модуль Joomla для конвертации валюты. Модуль использует финансы google для конвертации валюты 3. Стек LAMP находится в интрасети за прокси-сервером. Были настроены переменные окружения сервера для http_proxy, прокси yum.conf, и ядро успешно обновлено. 4. phpinfo () ясно показывает, что curl установлен 5. модуль, упомянутый в '2.' позволяет 3 способам подключения к финансам google, fread (), file_get_contents () и использованию библиотек cURL. Поскольку поле находится за прокси-сервером, должен работать только метод библиотек cURL.
Проблема: в стеке WAMP метод библиотеки curl отлично работает. Тем не менее, в стеке лампы модуль не может взаимодействовать с финансами Google, и выдает сообщение об ошибке, связанное с истечением времени ожидания подключения. Вот какой код, чтобы сделать его более понятным.
if (isset($_GET['process'])) { $url = "http://finance.google.com/finance/converter?a={ $_GET['a']}&from={$_GET['from']}&to={$_GET['to']}"; $app->get_page($url); $data = $app->process(); } function get_page($url) { if ($url!='') { echo $url; $ch = curl_init (); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, $this->binary); $this->html = curl_exec($ch); curl_close($ch); } }
Я даже попытался добавить curl_setopt ($ ch, CURLOPT_PROXY, '10 .x.xx.xx: 8080 '); после curl_init (), безрезультатно. Я скомпилировал apache с libcurl и php, и мне нужно знать следующее: 1. Как проинструктировать php направлять исходящие запросы (потоки) через прокси-сервер? 2. Нужно ли настраивать cURL (libcurl) с прокси-сервером и портом? 3. Я отключил iptables, поэтому брандмауэр linux больше не находится в изображении, есть ли что-то еще, что мне нужно сделать, чтобы разрешать исходящие запросы? 4. Я установил прокси-сервер, чтобы мой стек LAMP был разблокирован для всего содержимого, cURL работает с командной строки, но не с php / apache. Что мне не хватает? Любые переменные среды? Любые переключатели?
Спасибо заранее за ваше время.
Шринивас