1

我在托管 ASP 网站的 Windows Server 2003 中有一个正在运行的服务器。我有一个 PHP 函数试图file_get_contents从属于该服务器的 URL 中使用。问题是 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

您必须从服务器获取 HTTP URL。否则,当直接访问 ASP 文件时,您将不会触发 ASP 渲染,因为您将从文件中读取实际的源代码。

需要检查您的服务器是否设置为接受与其自身的连接。通常这不是问题。

于 2013-03-28T00:29:57.973 回答
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 回答