セットアップ:1。LAMPサーバー上のJoomla 1.5 Webサイト(CentOS 5.2 / Apache 2.2 / PHP 5.2.9 / mysql 5)2.通貨変換用のJoomlaモジュールが追加されました。モジュールはグーグルファイナンスを使用して通貨3を変換します。LAMPスタックはプロキシの背後にあるイントラネットにあります。http_proxy、yum.confプロキシのサーバー環境変数がセットアップされ、カーネルが正常に更新されました。4. phpinfo()は、curlがインストールされていることを明確に示しています。5。「2」で説明したモジュール。3つのメソッドがgooglefinance、fread()、file_get_contents()に接続し、cURLライブラリを使用できるようにします。ボックスはプロキシの背後にあるため、cURLライブラリメソッドのみが機能するはずです。
問題:WAMPスタックでは、curlライブラリメソッドは正常に機能します。ただし、ランプスタックでは、モジュールはgoogle Financeと通信できず、接続がタイムアウトしたことを示すエラーがスローされます。わかりやすくするためのコードを次に示します。
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()の後、役に立たない。libcurlとphpを有効にしてapacheをコンパイルしましたが、次のことを知っておく必要があります。1. phpに送信要求(ストリーム)をプロキシ経由でルーティングするように指示する方法は?2.プロキシ名とポートを使用してcURL(libcurl)を構成する必要がありますか?3. iptablesをオフにしたので、Linuxファイアウォールはもう見えませんが、送信要求を許可するために他に何かする必要がありますか?4.すべてのコンテンツでLAMPスタックのブロックが解除されるようにプロキシを設定しました。cURLはコマンドラインからは機能しますが、php/apacheからは機能しません。私は何が欠けていますか?環境変数はありますか?スイッチはありますか?
よろしくお願いします。
Shrinivas