У меня есть приложение PHP, которое работает примерно за 2-3 минуты до того, как оно вернет что-то в браузер (некоторые средства обработки базы данных).Как скрипты PHP буферируются (?) На сервере?
Я хочу знать, если я могу изменить файл php вместе с ним во время работы скрипта. Я предполагаю, что в Apache/PHP есть буфер.
У меня есть ситуации, как это:
// This is index.php
include "DatabaseController.php"; // class inside, I create instance at start
include "ImagesController.php"; // class inside, I create instance at start
include "helpers.php"; // there are just functions, no classes
$db = new Database();
$img = new Images();
// for loop doing job here (2-3 minutes)
// end
Что произойдет, когда я заменить файл «DatabaseController.php» в то время как скрипт работает?
Я попытался протестировать его, и похоже, что «рабочая часть» по-прежнему использует старую версию DatabaseController при замене.
Но ... что произойдет, когда я заменю файл «helpers.php»? Он содержит только функции без классов, которые могут быть созданы в начале скрипта.
Как эта буферизация работает вообще?
Ничего не произойдет, если вы измените файл во время его выполнения ... –
Вы имеете в виду, что все включенные файлы тоже буферизуются? – Kamil
Если они уже включены, их поведение не изменится (изменится на код операции). Если ваш скрипт начинается, _then_ вы меняете файл, и только _then_ 'include' происходит, он, конечно, увидит новый файл. – Wrikken