当前位置:Gxlcms > PHP教程 > windows下选择php版本是选NonThreadSafe还是ThreadSafe?

windows下选择php版本是选NonThreadSafe还是ThreadSafe?

时间:2021-07-01 10:21:17 帮助过:14人阅读

在开发调试过程中遇到过网页不停的报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版本。

人气教程排行