windows平台下php版本问题–VC6/VC9和TS/NTS

php下载页面中提供了4个下载版本,是vc6/vc9 TS/NTS的组合

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中的配置方式:
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中的配置方式:
ScriptAlias /php/ “D:/php/”
Action application/x-httpd-php “/php/php-cgi.exe”

官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

XAMPP在http-xampp.conf中默认配置是使用ISAPI的方式

上一篇:【ASP.NET实战教程】基于ASP.NET技术下多用户博客系统全程实战开发(NNblog)


下一篇:[AngularJS] ngModelController render function