1

ASP Web サイトをホストしている Windows Server 2003 でサーバーを実行しています。file_get_contentsそのサーバーに属する URLから使用しようとしている PHP 関数があります。問題は、ASP URL と PHP 関数の両方が同じサーバーに属していることです。私はそれをよりよく説明します:

私のウェブ www.myweb.com は私のサーバーでホストされています。

ファイル www.myweb.com/phpfile.php は、ファイル www.myweb.com/aspfile.asp からコンテンツを取得する必要がありますfile_get_contents。外部サーバーから実行phpfile.phpすると機能しますが、自分のサーバーから実行すると失敗します。

問題は、両方のファイルが同じローカル ホストに属していることだと確信しているため、aspfile.aspコンテンツを取得しようとすると、Web サーバーがスキップされ、レンダリングされたコンテンツが取得されません。私の質問は次のとおりです。どうすれば解決できますか?ローカルホストを探す代わりに、レンダリングされたコンテンツを探すようにサーバーに正確に指示するにはどうすればよいですか?

4

2 に答える 2

0

開発サーバーで次のことを試したところ、うまくいくようです

<?php 
$url = 'http://localhost/mydirectory/myaspfile.asp';
$string = file_get_contents($url);
print $string
?>

私のphpファイルとaspファイルは同じディレクトリにあります。PHP インストールが発信接続を確立するのを妨げているファイアウォールがある可能性はありますか?

誰かが興味を持っている場合は、asp で同じことを行う方法を次に示します。

<% 
url = "http://localhost/mydirectory/myaspfile.asp" 
set xmlhttp = server.CreateObject("Msxml2.ServerXMLHTTP.6.0") 
xmlhttp.open "GET", url, false 
xmlhttp.send "" 
Response.write xmlhttp.responseText 
set xmlhttp = nothing 
%>
于 2013-03-28T02:16:48.390 に答える
0

サーバーから HTTP URL をフェッチする必要があります。そうしないと、ASP ファイルに直接アクセスするときに、ファイルから実際のソース コードを読み取るため、ASP レンダリングがトリガーされません。

サーバーがそれ自体への接続を受け入れるように設定されているかどうかを確認する必要があります。通常、これは問題ではありません。

于 2013-03-28T00:29:57.973 に答える