【发布时间】:2010-01-09 14:23:18
【问题描述】:
如果一个 web 用户正在进入我的 php 站点并与之交互,那么这个 php 文件将打开一个进程(一个线程),然后在 php 文件完成逻辑并将输出发送到浏览器之后,该进程关门了吗?
因为如果它没有关闭,那么这意味着该 php 文件中变量中的值将被取消删除,对吗?但是由于您总是必须用值初始化新变量,这意味着该过程已关闭?
我只是在传统的桌面应用程序中考虑了这个原因,我认为除非您将其关闭,否则该进程不会关闭。
【问题讨论】:
如果一个 web 用户正在进入我的 php 站点并与之交互,那么这个 php 文件将打开一个进程(一个线程),然后在 php 文件完成逻辑并将输出发送到浏览器之后,该进程关门了吗?
因为如果它没有关闭,那么这意味着该 php 文件中变量中的值将被取消删除,对吗?但是由于您总是必须用值初始化新变量,这意味着该过程已关闭?
我只是在传统的桌面应用程序中考虑了这个原因,我认为除非您将其关闭,否则该进程不会关闭。
【问题讨论】:
PHP 是 REQUEST 驱动的。 Web 服务器的交互如您所描述。
是的,桌面应用程序和在服务器上运行的 php 脚本在这些方面非常不同。
【讨论】:
这取决于配置。例如,如果 php 以 FastCGI 方式运行,则进程不会关闭,会继续运行,等待新的请求。
尽管您可以确定一件事,但无论配置如何:脚本结束时所有变量/等都将未初始化,因此您(程序员)不必担心这一点。无论配置如何以及进程是否关闭,它的行为都相同。
【讨论】: