1
我想在不使用Symfony
會話的情況下使用棘輪,並在我的web應用程序和棘輪之間處理與php
處理程序的會話。但它不起作用。沒有Symfony會話的棘輪
我的會話處理代碼:
運行服務器:session.php`
ini_set('session.save_handler', 'memcached');
ini_set('session.save_path', 'localhost:11211');
use Ratchet\Server\IoServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
require __DIR__ . './../src/MyApp/Chat.php';
$server = IoServer::factory(
new WsServer(
new Chat()
)
, 8080
);
$server->run();
我的應用程序:chat.php
public function onOpen(ConnectionInterface $conn) {
// Store the new connection to send messages to later
$this->clients->attach($conn);
session_start();
echo "New connection! ({$conn->resourceId})\n";
$conn->send('Hello ' . session_id());
客戶端:
ini_set('session.save_handler', 'memcached');
ini_set('session.save_path', 'localhost:11211');
session_start();
require __DIR__ . './../server/vendor/autoload.php';
$_SESSION['name'] = $_GET['name'];
if (isset($_SESSION['name'])) {
var_dump($_SESSION['name']);
} else {
echo 'Not set!!!';
}
我的請求URL:localhost/myfile/?name=shahrokh
也看到這個問題:http://stackoverflow.com/questions/16183917/starting-a-session-within-a-ratchet-websocket-connection AFAIK你必須從symfony視圖開始會話訪問它在棘輪中,即使你正在使用symfony會話處理程序。 – mattexx