2016-06-11 25 views
3

我的Wordpress安装目录中的index.php文件似乎运行了其他几个脚本,以便正确配置Wordpress环境,而这些脚本又定义了几个常量。我的问题是:运行初始化脚本和定义常量的过程每次发生请求时都会发生,还是仅在对服务器的第一次请求发生之后才发生,并且这些环境常量和设置在服务器关闭之前保持定义?每次请求到达服务器时,Wordpress初始化脚本是否都运行?

回答

2

在Wordpress(以及一般的PHP)中,每个请求都运行在自己的环境中,与其他请求隔离,不会与其他请求共享任何常量,变量或加载的类。每个请求都以“clean slate”开始,并且必须从新进行所有初始化工作。当请求结束时,由请求加载/创建的所有数据都将被销毁。

也有一些例外的规则“要求完全孤立”:

  • PHP的操作码缓存存储解析共享内存中的PHP文件的结果。在稍后的请求中加载相同的文件时,可以跳过解析步骤。
  • 会话在请求之间保留一些状态。
+0

好吧,基本上,每次请求到达服务器时,都会发生这种“启动”过程?我认为可以在Apache上以某种方式运行的php进程中设置一些环境变量。因此,基本上每个响应的PHP环境中设置的每个变量都是在引导过程中生成的,每次请求都会触发服务器? – Lhaer

+0

是的,每个请求的行为就像它是重新启动后提供的第一个请求。 –

+0

每次有人向服务器发出请求时,要做很多工作吗? – Lhaer

相关问题