PHPSockets を使用するマルチプレイヤー サーバーを使用しているため、完全に PHP で記述されています。
現在、PHP サーバー スクリプトに変更を加えるたびに、スクリプトを強制終了してから、最初からやり直す必要があります。これは、オンラインのユーザーが切断されていることを意味します (現時点ではそれほど多くないため、通常は問題ありません)。
今、私はサーバー スクリプトを書き直してカスタム PHP クラスを使用し、物事を少し整理しています (今日の見栄えが悪いことは知りたくありません)。今日、私は考えていました:「スクリプト全体を再起動することなく、php ソースに変更を加えることは可能ではないでしょうか?」.
たとえば、 classを含むファイルと classmain.php
を含むファイルを作成する予定です。ここで、オンライン ユーザーを切断せずに変更を有効にするために、サーバーに変更を加えて "リロード" したいとしましょう。user.php
MyUser
game.php
MyGame
user.php
user.php
これに答えた他の質問を見つけようとしましたが、最も近いのは次の質問です:実行中のスクリプトを変更し、それを強制終了せずにリロードする (php)、ただし、オンラインユーザーの切断は解決しないようです。
アップデート
これに対する私自身の解決策は次のとおりです。
- 特別な場合には、external.php ファイルをインクルードします。このファイルは、いくつかの変数にアクセスして、好きなように使用できます。これを行うとき、存在しないメソッドにアクセスしようとするとサーバー全体がクラッシュするため、コードにエラーがないことを確認する必要がありました。
- すべてを Javaに書き直しました。これにより、動的なクラスの再読み込みを使用してプラグイン システムを追加できるようになりました。魅力のように機能します。さよならPHP。