从PHP 5.2.1起,Windows版本分为线程安全(Thread Safe)和非线程安全(NTS)两种。前者适用于以模块方式运行在Apache中的PHP,能更好处理多线程环境;后者适合以CGI或FastCGI方式运行,性能更优。通常情况下,使用IIS或Nginx时推荐选择NTS版本,而搭配Apache则建议选用TS版本。
1、 访问该网址后,可看到多个PHP版本,以5.6.15为例,主要提供四种版本:x86非线程安全、x86线程安全、x64非线程安全和x64线程安全。此外还有用于调试的debug包,通常在Visual Studio中使用,此处不再详述。
2、 PHP支持两种运行模式:ISAPI与FastCGI。
3、 ISAPI方式通过动态链接库(DLL)运行,用户发起请求后程序被调用,处理完毕后不会立即终止,而是持续驻留。由于多个请求可能同时访问同一实例,必须确保线程安全。因此,采用ISAPI模式运行PHP时,应选用线程安全(Thread Safe)版本,以避免并发问题,提升执行效率与系统稳定性。
4、 FastCGI采用单线程方式运行,无需进行线程安全检查,省去相关防护机制有助于提升执行效率。因此,在使用FastCGI运行PHP时,推荐选用非线程安全(Non Thread Safe)版本,以充分发挥其性能优势,提高处理速度和资源利用率。
5、 Apache服务器通常采用ISAPI方式,而Nginx服务器则多使用FastCGI方式运行。
6、 简单来说,若使用Apache搭配PHP和MySQL环境,应选择线程安全版本;而若在IIS环境下配置PHP,则需下载非线程安全版本,以确保运行稳定与兼容性。
7、 在Linux系统中搭建PHP环境时,通常采用线程安全版本,因此无需担心前述问题,可直接部署使用。
