Попытка обслужить нескольких пользователей с Shiny, php и iframe - PullRequest
0 голосов
/ 21 февраля 2020

Я создал небольшой веб-сайт, используя php в своем локальном окружении для некоторых пиров, с XAMPP в качестве сервера.

Затем я создал небольшое веб-приложение для их использования с R и Shiny.

Я взломал приложение Shiny на веб-сайте, запустив Shiny в терминале с помощью runApp(app, <host>, <port>), затем вставил на сайт iframe, связанный с определенным хостом и портом, и он работает довольно хорошо.

Проблема в том, что все пользователи видят один и тот же экземпляр приложения. Фактически это ограничивает приложение только одним пользователем за раз.

Это все на компьютере Windows. Может кто-нибудь придумать для меня другой способ сделать это, чтобы разные люди увидели другой экземпляр приложения?

Я попытался shell_exec() в php и рассмотрел возможность создания пользовательских номеров портов для отдельных пользователей и сохранения их номеров портов как $_SESSION['ShinyPort']. Эта стратегия не удалась, потому что оболочка никогда не закрывалась, и приложение продолжало работать, даже после того, как я закрыл браузер и выключил XAMPP. В итоге я вышел из машины, чтобы закрыть приложение / оболочку. Кроме того, веб-сайт ожидает выхода shell_exe c до конечного значения sh, и этого никогда не происходит, поскольку он должен работать непрерывно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...