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