一个php文件打开一个进程,然后进程关闭?

一个php文件打开一个进程,然后进程关闭?,php,process,Php,Process,如果一个web用户正在进入我的php站点并与之交互,那么该php文件将打开一个进程(带有一个线程),然后在php文件完成逻辑并将输出发送到浏览器后,该进程将关闭 因为如果它没有关闭,那么这意味着php文件中变量的值将被取消删除,对吗?但是,由于您总是必须使用值初始化新变量,这意味着该过程已结束 我只是想到了这个原因,在传统的桌面应用程序中,我认为除非你关闭它,否则进程不会关闭。这取决于配置。例如,如果php作为FastCGI运行,进程将不会关闭,并将继续运行,等待新的请求 不管配置如何,但您可以

如果一个web用户正在进入我的php站点并与之交互,那么该php文件将打开一个进程(带有一个线程),然后在php文件完成逻辑并将输出发送到浏览器后,该进程将关闭

因为如果它没有关闭,那么这意味着php文件中变量的值将被取消删除,对吗?但是,由于您总是必须使用值初始化新变量,这意味着该过程已结束


我只是想到了这个原因,在传统的桌面应用程序中,我认为除非你关闭它,否则进程不会关闭。

这取决于配置。例如,如果php作为FastCGI运行,进程将不会关闭,并将继续运行,等待新的请求


不管配置如何,但您可以确定一件事:当脚本结束时,所有变量/etc都将被取消初始化,因此您(程序员)不必担心这一点。无论配置如何以及进程是否关闭,其行为都将相同。

这取决于配置。例如,如果php作为FastCGI运行,进程将不会关闭,并将继续运行,等待新的请求


不管配置如何,但您可以确定一件事:当脚本结束时,所有变量/etc都将被取消初始化,因此您(程序员)不必担心这一点。不管配置如何,不管进程是否关闭,它的行为都是一样的。

PHP是请求驱动的。web服务器的交互如您所述

  • 请求进入服务器
  • Apache(示例)为php可执行文件创建一个线程
  • 您的PHP脚本已启动,变量已初始化
  • 脚本完成执行,变量消失
  • Apache清理
  • 您可以从服务器获取响应

是的,桌面应用程序和服务器上运行的php脚本在这些方面有很大不同。

php是请求驱动的。web服务器的交互如您所述

  • 请求进入服务器
  • Apache(示例)为php可执行文件创建一个线程
  • 您的PHP脚本已启动,变量已初始化
  • 脚本完成执行,变量消失
  • Apache清理
  • 您可以从服务器获取响应

是的,桌面应用程序和服务器上运行的php脚本在这些方面是非常不同的。

ok,因此在执行该php文件的最后一行后,进程将关闭。不,不一定。阅读我的答案。但是当脚本完成时,PHP分配的与脚本执行相关的所有资源(变量、文件/数据库句柄、网络套接字等)都会被清除,但是如果它在Apache中以mod_PHP或fastCGI的形式运行,该进程不会在此时终止——它只是进入待机状态,直到有一个新的服务请求。好的,在php文件的最后一行被执行之后,进程就结束了。不,不一定。阅读我的答案。但是当脚本完成时,PHP分配的与脚本执行相关的所有资源(变量、文件/数据库句柄、网络套接字等)都会被清除,但是如果它在Apache中以mod_PHP或fastCGI的形式运行,该进程不会在此时终止——它只是进入待机状态,直到有一个新的服务请求。C