php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #63014 Explanation needed on "thread-safe" vs "non-thread-safe" binaries
Submitted: 2012-09-05 12:33 UTC Modified: 2014-04-08 09:20 UTC
Votes:3
Avg. Score:4.3 ± 0.9
Reproduced:3 of 3 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (33.3%)
From: l762421 at rtrtr dot com Assigned: ab (profile)
Status: Closed Package: Website problem
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: l762421 at rtrtr dot com
New email:
PHP Version: OS:

 

 [2012-09-05 12:33 UTC] l762421 at rtrtr dot com
Description:
------------
The Windows PHP site explains whether to use the VC6 or VC9 binaries, but gives no explanation whatsoever as to when to use the "thread-safe" or "non-thread-safe" builds.

http://windows.php.net/download/


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-10-05 13:09 UTC] stefan dot pochmann at gmail dot com
This is still unclear, *and* there seems to be conflicting advice:

- The IIS section on the left of http://windows.php.net/download/ says:

"If you are using PHP with IIS you should use the Non-Thread Safe (NTS) versions of PHP."

- The bottom of http://www.php.net/manual/en/faq.obtaining.php says:

"For multithreaded webservers, such as IIS5 and IIS6, you should use the threaded version of PHP."

So which one is it in that case? Non-Thread or threaded??

Also, how do the three words "Non Thread Safe" bind together? Is it "Non-Thread Safe" or "Non Thread-Safe"? The IIS section on the left of http://windows.php.net/download/ mentions "Non-Thread Safe", but that differs from the rest of the page, and if that's the correct interpretation and thus all versions are "Safe", then that word is superfluous and I wonder why it's there at all.

I'm thoroughly confused.
 [2013-10-05 14:01 UTC] gabri dot ns at gmail dot com
IMO, use Thread-Safe if you are using web server that
include PHP into its core. Like IIS's ISAPI, NetPlanet's
NSAPI, Apache's module (in windows), etc. If you are using
FastCGI, it is better to use Non Thread-Safe to gain thus
small performance improvement for not checking thread safety.
 [2013-10-05 14:24 UTC] stefan dot pochmann at gmail dot com
Thanks for the advice, and thanks for saying "Non Thread-Safe", the only variant I hadn't seen yet (the PHP site says "Non Thread Safe" and "Non-Thread Safe" and this bug's submitter said "non-thread-safe"). Hooray for clarity and consistency!
 [2013-12-27 00:49 UTC] bjori@php.net
-Assigned To: +Assigned To: ab
 [2014-04-08 09:20 UTC] ab@php.net
-Status: Assigned +Status: Closed
 [2014-04-08 09:20 UTC] ab@php.net
A note about TS/NTS meaning was added to the http://windows.php.net/ (see left column).
 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Tue Oct 06 17:00:01 2026 UTC