php让代码重新运行一次,脚本运行时是否可以动态重新加载PHP代码?
我有一個(gè)使用
PHPSockets的多人游戲服務(wù)器,因此完全用PHP編寫.
目前,每當(dāng)我對(duì)PHP服務(wù)器腳本進(jìn)行任何更改時(shí),我都必須終止該腳本,然后重新開始.這意味著任何在線用戶都會(huì)斷開連接(通常不會(huì)出現(xiàn)問(wèn)題,因?yàn)槟壳皼](méi)有這么多用戶).
現(xiàn)在我正在重寫服務(wù)器腳本以使用自定義PHP類并對(duì)其進(jìn)行一些排序(你不想知道它今天看起來(lái)有多糟糕).今天我在想:“如果不重新啟動(dòng)整個(gè)腳本,是不是可以對(duì)php源進(jìn)行更改?”.
例如,我計(jì)劃有一個(gè)main.php文件,其中包含user.php,其中包含MyUser類和game.php,其中包含MyGame類.現(xiàn)在讓我們說(shuō)我想對(duì)user.php進(jìn)行更改并“重新加載”服務(wù)器,以便對(duì)user.php的更改生效,而不會(huì)斷開任何在線用戶的連接?
UPDATE
我自己的解決方案是:
>在特殊情況下,包括文件external.php,它可以訪問(wèn)一些變量并使用它們,但它喜歡.這樣做時(shí),我必須確保代碼中沒(méi)有錯(cuò)誤,因?yàn)槿绻覈L試訪問(wèn)不存在的方法,整個(gè)服務(wù)器都會(huì)崩潰.
>將整個(gè)事情重寫為Java,這使我有可能使用動(dòng)態(tài)類重新加載添加插件系統(tǒng).奇跡般有效.再見PHP.
總結(jié)
以上是生活随笔為你收集整理的php让代码重新运行一次,脚本运行时是否可以动态重新加载PHP代码?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 英文、古诗都能扫!讯飞AI翻译笔P20开
- 下一篇: php 跳转qq群代码_邪少xml论坛q