以前は機能していたので、ホスティング会社の何かが最近変更された可能性があると思います。しかし、それらは役に立たない。
私はfile_get_contents
ファイルにロードするものを使用しています..正直に言うと、それはコードパックの一部であり、それが何をするのか100%ではありません. ただし、URL はかなりの長さで、ファイルの結果を単純にエコーアウトします。
すなわち
$custom = getRealIpAddr()."|||||".$_SESSION['cart']."|||||".makeSafe($_GET['i'])."|||||".$lang;
$pphash = create_paypal_hash(makeSafe($_SESSION['cart']), '', create_password('####'), $custom);
$tosend = base64_encode(urlencode($pphash));
$cgi = "http://www.***********.com/pl/b.pl?a=".$tosend; // TEST LINE
echo file_get_contents($cgi);
これにより、約 390 文字の URL が生成されます。約 360 文字に切り詰めると問題なく動作しますが、ファイルに渡された GET データの一部が失われるため、これは解決策ではありません。
360 文字を超える URL で 403 禁止エラーがスローされる原因となっている、私のホストで何が変更された可能性があるかについてのアイデアはありますか?
curl メソッドも試しましたが、同じ結果が得られます。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $cgi);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
echo $output;