VC6:legacy Visual Studio 6 compiler, 就是使用这个编译器编译的
VC9:Visual Studio 2008 compiler, 就是用微软的 VS 编辑器编译的
由于 apache.org 只提供 VC6 的版本, 所以使用原版 apache 时只能使用 VC6(www.apachelounge.com 上有 apache VC9 的版本提供, 应该可以和 PHP VC9 配合, 没用过)
TS:Thread Safe 线程安全, 执行时会进行线程 (Thread) 安全检查, 以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源
NTS:Non Thread Safe 非线程安全, 在执行时不进行线程 (Thread) 安全检查
PHP 的两种执行方式: ISAPI 和 FastCGI
ISAPI(Internet Server Application Programming Interface)执行方式是以 DLL 动态库的形式使用, 可以在被用户请求后执行, 在处理完一个用户请求后不会马上消失, 所以需要进行线程安全检查, 这样来提高程序的执行效率, 所以如果是以 ISAPI 来执行 PHP, 建议选择 Thread Safe 版本
apache 中的配置方式:
- # 下面这个是加载 TS 版本的 php 必须的
- LoadModule php5_module xxx/php5apache2_2.dll
- # 下面这行可有可无
- AddType application/x-httpd-php-source .phps
- AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt
FastCGI 执行方式是以单一线程来执行操作, 所以不需要进行线程的安全检查, 除去线程安全检查的防护反而可以提高执行效率, 所以, 如果是以 FastCGI 来执行 PHP, 建议选择 Non Thread Safe 版本
apache 中的配置方式:
- # 下面这两行是加载 NTS 版本的 php 必须的, 不可以直接写成 Action application/x-httpd-php c:/wamp/bin/php/php3.5.6/php-cgi.exe!
- ScriptAlias /php/ "C:/wamp/bin/php/php3.5.6/"
- Action application/x-httpd-php /php/php-cgi.exe
- # 另外, 还要有之前的 AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt, 这样才能认识 php 格式的文件
- # 这样配置完可能还会因为权限问题而无法用 php-cgi.exe 解析 php 网页, 所以还要加上下面这段
官方并不建议你将 Non Thread Safe 应用于生产环境, 所以我们选择 Thread Safe 版本的 PHP 来使用
XAMPP 在 http-xampp.conf 中默认配置是使用 ISAPI 的方式
来源: https://www.php1.cn/detail/php-fc99e28212.html