@viktorross

Почему скрипт запуска сервера ratchet запускается не сразу?

Здравствуйте, подскажите, почему при запуске сервера ratchet путём открытия файла php со скриптом происходит долгая загрузка страницы до таймаута и ошибки соответственно? Но, если сразу же перезагрузить страницу не дожидаясь ошибки, то моментально все запускается, в чем тут может быть дело? Настройки сервера, сам код запуска, ssl или просто запускать по-другому? Хотелось бы повесить его на планировщик, но с таким запуском это не будет работать нормально, он просто не будет запускаться

сам скрипт запуска

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
use React\EventLoop\Factory;
use React\EventLoop\Loop;
use React\Socket\SecureServer;
    require dirname(__DIR__) . '/vendor/autoload.php';
$app = new \Ratchet\Http\HttpServer(
    new \Ratchet\WebSocket\WsServer(
        new \MyApp\Chat()
    )
);

$loop = \React\EventLoop\Factory::create();

$secure_websockets = new \React\Socket\Server('0.0.0.0:8443', $loop);
$secure_websockets = new \React\Socket\SecureServer($secure_websockets, $loop, [
    'local_cert' => '/var/www/www-root/data/www/cert/node.crt',
    'local_pk' => '/var/www/www-root/data/www/cert/node.key',
    'verify_peer' => false,
    'allow_self_signed' => true
]);

$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();
?>
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Потому что такие вещи надо запускать в cli-режиме (из командной строки), а судя по фразе "происходит долгая загрузка страницы до таймаута" запускаете вы скрипт из браузера, что концептуально не правильно.
Да в таком случае вы ловите таймаут ответа от веб-сервера, и запущенный процесс какое-то время живёт, но может умереть в любой момент, как только будет перезагружен веб-сервер или в случае с php-fpm умрёт дочерний процесс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы