PHP NTS 和 TS 版本如何选择
核心概念 线程安全版本 全称:Thread Safe,简称 TS 或 ZTS。 是什么:这个版本的 PHP 在编译时,其内部变量和数据结构都经过了特殊处理,以确保当它在多线程环境下运行时,每个线程的变量都是隔离的,不会互相干扰。 为什么需要:主要是为了与使用多线程模式的 Web 服务器集成。最典型的例子就是 IIS 和 Apache 的 worker MPM 或 winnt MPM 模式。在这些模式下,服务器会创建一个主进程,然后生成多个工作线程来处理并发请求。如果 PHP 不是线程安全的,多个线程同时操作相同的全局变量就会导致数据混乱和程序崩溃。 非线程安全版本 全称:Non Thread Safe,简称 NTS。 是什么:这个版本的 PHP 在编译时,没有进行上述的线程安全处理。它假设自己运行在一个单进程、单线程的环境中。 为什么需要:当 PHP 与使用多进程模式的 Web 服务器集成时,线程安全就不是必须的了。最典型的例子是 Nginx + PHP-FPM 的组合。PHP-FPM 本身是一个进程管理器,它会生成多个独立的 PHP 子进程来处理请求...
