如何在reactPHP服务器中保持状态?

问题描述:

ReachPHP服务器。代码计数的请求数:如何在reactPHP服务器中保持状态?

$counter = 0; 

$app = function ($request, $response) use ($counter){   
    $response->writeHead(200, array('Content-Type' => 'text/plain')); 
    $response->end($counter); 
    $counter++; 
}; 

$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(); 

计数器保持为0为每一个请求,我怎样才能使$ counter变量持续为所有对服务器的请求?

+1

我没有看到任何将改变'$ counter'。如果修改'$ counter'的代码没有包含在这里,你可以在修改中发布它吗? – meun5

+0

是的,我错过了$ counter ++; –

只需要把& - 符号$柜台前参考转移:

$counter = 0; 

$app = function ($request, $response) use (&$counter){   
    $response->writeHead(200, array('Content-Type' => 'text/plain')); 
    $response->end($counter); 
    $counter++; 
}; 

$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(); 

我傻......