Я создал небольшой веб-сайт, используя php в своем локальном окружении для некоторых пиров, с XAMPP в качестве сервера.
Затем я создал небольшое веб-приложение для их использования с R и Shiny.
Я взломал приложение Shiny на веб-сайте, запустив Shiny в терминале с помощью runApp(app, <host>, <port>)
, затем вставил на сайт iframe, связанный с определенным хостом и портом, и он работает довольно хорошо.
Проблема в том, что все пользователи видят один и тот же экземпляр приложения. Фактически это ограничивает приложение только одним пользователем за раз.
Это все на компьютере Windows. Может кто-нибудь придумать для меня другой способ сделать это, чтобы разные люди увидели другой экземпляр приложения?
Я попытался shell_exec()
в php и рассмотрел возможность создания пользовательских номеров портов для отдельных пользователей и сохранения их номеров портов как $_SESSION['ShinyPort']
. Эта стратегия не удалась, потому что оболочка никогда не закрывалась, и приложение продолжало работать, даже после того, как я закрыл браузер и выключил XAMPP. В итоге я вышел из машины, чтобы закрыть приложение / оболочку. Кроме того, веб-сайт ожидает выхода shell_exe c до конечного значения sh, и этого никогда не происходит, поскольку он должен работать непрерывно.