5

我正在尝试学习现在的技术——reactPHP。但我堆满了启动脚本。我稍微编辑了一下,但我有问题,如果我调用反应循环,脚本会执行两次。

我有这个代码:

<?php
require 'vendor/autoload.php';

$app = function ($request, $response) {
    $date = new DateTime();

    file_put_contents("data.txt", $date->getTimestamp().";", FILE_APPEND);

    $response->writeHead(200, array('Content-Type' => 'text/plain'));
    $response->end("Done\n");
};

$loop = React\EventLoop\Factory::create();
$socket = new React\Socket\Server($loop);
$http = new React\Http\Server($socket, $loop);

$http->on('request', $app);
echo "Server running at http://127.0.0.1:1337\n";

$socket->listen(1337);
$loop->run();

如果我调用http://localhost:1337/react/index.php我会进入 data.txt 这个

1439849018;1439849018;

我只期待一个值。

4

1 回答 1

8

我已经测试了你的代码,问题是因为你在浏览器中测试它。您的浏览器发送请求,然后请求网站图标。而已。在 Inspect 的图像上,它是第一行和第三行。下次尝试从 cmd 运行脚本。

这是第一行和第三行。

于 2015-08-20T13:41:29.387 回答