我有一个使用
PHPSockets的多人游戏服务器,因此完全用PHP编写.
目前,每当我对PHP服务器脚本进行任何更改时,我都必须终止该脚本,然后重新开始.这意味着任何在线用户都会断开连接(通常不会出现问题,因为目前没有这么多用户).
现在我正在重写服务器脚本以使用自定义PHP类并对其进行一些排序(你不想知道它今天看起来有多糟糕).今天我在想:“如果不重新启动整个脚本,是不是可以对php源进行更改?”.
例如,我计划有一个main.php文件,其中包含user.php,其中包含MyUser类和game.php,其中包含MyGame类.现在让我们说我想对user.php进行更改并“重新加载”服务器,以便对user.php的更改生效,而不会断开任何在线用户的连接?
UPDATE
我自己的解决方案是:
>在特殊情况下,包括文件external.php,它可以访问一些变量并使用它们,但它喜欢.这样做时,我必须确保代码中没有错误,因为如果我尝试访问不存在的方法,整个服务器都会崩溃.
>将整个事情重写为Java,这使我有可能使用动态类重新加载添加插件系统.奇迹般有效.再见PHP.