Gdy obiekt PHP jest już załadowany do PHP, czy istnieje sposób na jego ponowne załadowanie?

Motywacją do tego pytania jest obserwator PHP na serwerze ReactPHP. Korzystając z ReactPHP, jądro można przeładować bez konieczności zatrzymywania samego serwera, ale nawet jeśli jeden plik PHP się zmienił, kod PHP jest już załadowany do pamięci i nic się nie dzieje.

1
mmoreram 20 listopad 2019, 23:25

2 odpowiedzi

Nie da się tego zrobić, chyba że używasz czegoś takiego jak procesy potomne lub małpa łatanie za kontenerem PSR-11, który ukrywa go za interfejsem. Oczywistym problemem jest to, że twoja pamięć wzrośnie dla każdej klasy, którą w ten sposób załadujesz. Ale z samego języka nie ma wsparcia.

0
WyriHaximus 20 listopad 2019, 23:29

Myślę, że z głównymi funkcjami nie działa, ale jest kilka projektów, w których można zaimplementować ponowne ładowanie na gorąco.

https://github.com/felippe-regazio/php-hot-reloader

Być może to działa w Twoim przypadku.

0
René Höhle 20 listopad 2019, 23:36