5

私は今テクノロジーを学ぼうとしています - reactPHP。しかし、私は開始スクリプトでスタックしています。少し編集しましたが、問題があります。反応ループを呼び出すと、スクリプトが 2 回実行されます。

私はこのコードを持っています:

<?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;

私は1つの値だけを期待しています。

4

1 に答える 1

8

私はあなたのコードをテストしましたが、問題はブラウザでテストしているためです。ブラウザがリクエストを送信し、ファビコンを要求します。それでおしまい。Inspect の画像では、1 行目と 3 行目です。次回は、cmd からスクリプトを実行してみてください。

1行目と3行目です。

于 2015-08-20T13:41:29.387 に答える