我使用的是Nginx 1.7.3和PHP 7.0。
我创建了一个像这样的test.php文件
<?php
$header = '';
$header .= "GET /test2.php HTTP/1.1\r\n";
$header .= "Host:127.0.0.1\r\n";
$header .= "Connection: close";
$data = $header . "\r\n\r\n";
if ($fp = fsockopen('127.0.0.1', 80))
{
fwrite($fp, $data);
$res = '';
while (!feof($fp))
{
$res .= fgets($fp, 1024);
}
fclose($fp);
}
echo $res;
?>
我创建了一个像这样的test2.php文件
<?php
echo 1;
?>
然后我通过访问127.0.0.1/test.php来执行test.php文件,但它没有工作。它一直在加载,并没有显示任何文字。
所以我测试了那样
while (!feof($fp))
{
echo 1;
exit;
$res .= fgets($fp, 1024);
}
我原谅了它,并打印了#1;&#39;。 (我认为fgets()不起作用。)
但是我为它准备了一个文本文件,如下所示。
$header = '';
$header .= "GET **/text.txt** HTTP/1.1\r\n";
$header .= "Host:127.0.0.1\r\n";
$header .= "Connection: close";
效果很好。我不知道自己该做什么。如何在localhost上为PHP文件使用fsockopen()。我用Google搜索了很多内容,但遗憾的是它并没有太大帮助。如果你知道这件事,请告诉我该怎么做。