У меня многопользовательский сервер, использующий PHPSockets, и поэтому он полностью написан на PHP.
В настоящее время всякий раз, когда я делаю какие-либо изменения в PHP-скрипте сервера, мне приходится завершать скрипт, а затем запускать его снова. Это означает, что любые пользователи в сети отключены (обычно это не проблема, потому что в данный момент их не так много).
Теперь я переписываю серверный скрипт, чтобы использовать пользовательские классы PHP и немного упорядочить вещи (вы не хотите знать, как противно это выглядит сегодня). Сегодня я подумал: «Разве нельзя внести изменения в исходный код php без перезапуска всего скрипта?».
Например, я планирую иметь файл main.php
, включающий user.php
, содержащий классы MyUser
и . game.php
, который содержит класс MyGame
. Теперь предположим, что я хотел бы внести изменения в пользователя .php
и «перезагрузить» сервер, чтобы изменения в user.php
вступили в силу, без отключения каких-либо онлайн-пользователей?
Я пытался найти другие вопросы, которые отвечали бы на этот вопрос, наиболее близкий мне вопрос: Изменение запущенного скрипта и его перезагрузка без его уничтожения (php), который, однако, не решает отключение онлайн-пользователей.
ОБНОВЛЕНИЕ
Мои собственные решения этой проблемы: