我有PHP应用程序,它在返回浏览器之前运行大约2-3分钟(一些数据库处理的东西)。
我想知道,如果我可以在脚本运行时用它更改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”文件时会发生什么?它只包含函数,没有可以在脚本开头实例化的类。
这种缓冲一般如何工作?
答案 0 :(得分:1)
它并没有真正被缓冲。你应该阅读Compilers
。总之,您编写的代码首先需要在执行之前进行编译。编译后对源进行的更改只有在下次请求再次重新编译时才会生效。