欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

windows 下选择php版本 是选Non Thread Safe还是Thread Safe?

程序员文章站 2022-05-18 22:10:46
...
在开发调试过程中遇到过网页不停的报Stack Overflow 。试过各种方法不行。想到可能是在我目前的环境中不太合适用Thread Safe。请问应该依据什么选ts 还是nts版本。

网上有人说:如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 个人感觉这个很不靠谱 我现在用的ts版本的php,而看到Configure Command:cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--disable-isapi"

求讲解。

回复内容:

在开发调试过程中遇到过网页不停的报Stack Overflow 。试过各种方法不行。想到可能是在我目前的环境中不太合适用Thread Safe。请问应该依据什么选ts 还是nts版本。

网上有人说:如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 个人感觉这个很不靠谱 我现在用的ts版本的php,而看到Configure Command:cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--disable-isapi"

求讲解。

是的,从php 5.2.1开始分这两个版本,ISAPI需要进行线程安全检查。但是分这两个版本的初衷是要解决某些插件的非线程安全问题,所以我估计你如果没有使用什么特殊的插件的话,出现stack overflow还是程序的问题,你可以把代码贴出来

我感觉你那Stack Overflow问题是不是mysql造成的?我也有遇到过。后来把mysql活动的时间延长点就好了。
也有可能因为PHP版本的问题,还有内存溢出等。
另外你是不是在WIN上开发的?

如果是采用IIS+ISAPI的话,就是使用TS版本。
如果是采用IIS+FastCGI的话,就使用NTS版本。

相关标签: php