0

我有两个文件:test.php 和 query.php。我的服务器是lighttpd。

在 test.php 中,我想回显对 query.php 请求的响应。

它不起作用,因为 Lighttpd 是单线程的。

我怎样才能做到这一点?

4

3 回答 3

2

如果你真的想模拟对页面的请求,那么你应该使用 CURL 之类的东西,或者file_get_contents. 如果您只是尝试运行 query.php 中的代码,请考虑包含/要求 query.php 并进行函数/方法调用。

作为一个快速而肮脏的最后一个选项,您始终可以使用一个输出缓冲区来捕获包含 query.php 的输出:

$original_get = $_GET;
$_GET = array('var1'=>1);
ob_start();
include 'query.php';
$query_contents = ob_get_contents();
ob_end_clean();
$_GET = $original_get;
echo $query_contents;
于 2012-07-20T19:01:52.830 回答
1

print_r($_GET); 将转储 GET 变量。

放入<?php print_r($_GET) ?>test.php。然后从query.php,转到

/test.php?var1=val1&var2=val2

test.php 将回显 var1 = val1 和 var2 = val2。

你也可以试试var_dump($_GET)

于 2012-07-20T18:59:55.740 回答
1

您可以使用file_get_contents()curl扩展来发送 HTTP 请求。

它可以像这样简单:

echo file_get_contents('http://localhost/query.php?a=b');
于 2012-07-20T19:02:00.653 回答