PHP服务器页面如何处理来自不同用户的多个请求?
我习惯使用类C语言,他们使用多线程。在这种情况下PHP使用了什么?
答案 0 :(得分:6)
PHP解释器通常由Web服务器调用(如apache,lighthttpd,...)。然后,Web服务器处理请求(通过线程,分叉或其他)。 PHP的每个实例都是按顺序运行的,因此没有内置的多线程。
存在一个PECL扩展https://github.com/krakjoe/pthreads,它将多线程添加到PHP。
答案 1 :(得分:1)
这实际上取决于您用来处理这些请求的服务器。 PHP本身不处理请求,而是用于解析脚本并返回结果。可以用PHP编写Web服务器,但是再次,这完全取决于您使用的服务器。
答案 2 :(得分:1)
这实际上是一个很好的问题。一旦多个用户尝试向同一服务器发送请求,就不会发生混淆,因为网络服务器会创建一个独立的进程,您可以为每个请求调用它自己的会话(而不是php会话)。 PHP与此无关,因为它只是一个最终由机器翻译的脚本。