2017-01-04 6 views
1

Сервер 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 для каждого запроса, как я могу сделать $ переменного счетчика постоянным для всех запросов на сервер?

+1

Я не вижу ничего, что могло бы изменить '$ counter'. Если код, который изменяет '$ counter', здесь не включен, не могли бы вы разместить его в редактировании. – meun5

+0

да я пропустил $ counter ++; –

ответ

0

Просто нужно поставить & -sign прежде, чем $ прилавок для передачи по ссылке:

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

глупо меня ...