Home  >  Article  >  Backend Development  >  What is the difference between php ts and nts

What is the difference between php ts and nts

藏色散人
藏色散人Original
2020-07-27 10:02:164114browse

php The differences between ts and nts are: 1. ts is thread-safe, and a locking mechanism is used during multi-thread access, while nts is non-thread-safe, that is, it does not provide data access protection; 2. PHP and other When loading in ISAPI mode, select the ts version, and when running in fast cgi mode, select the nts version.

What is the difference between php ts and nts

Recommended: "PHP Tutorial"

The difference between TS and NTS in php

ts (Thread-Safety) means thread safety. When accessed by multiple threads, a locking mechanism is adopted. When a thread accesses certain data of this class, it is protected and other threads cannot access it until the thread reads it. After taking it, other threads can use it. There will be no data inconsistency or data pollution. When php is loaded in ISAPI mode, select this version. When php is loaded in ISAPI mode, select this version.

nts (None-Thread Safe) is not thread-safe, that is Data access protection is not provided, and it is possible that multiple threads may change data successively, resulting in dirty data. When php is run in fast cgi mode, choose this version for better performance;

ISAPI (Internet Server Application Programming Interface), usually refers to being loaded by the http server and running in the form of a server module. It was proposed by Microsoft, so it can only run on the win platform, such as apache and iis under win [it is said that working in fast cgi mode is more stable ], while php on Linux runs as an Apache module or php-fpm.

cgi (Common Gateway Interface): A tool for the HTTP server to "talk" with your program or other machines. To put it bluntly, cgi is a background language that can communicate with the server. communication. At this time, php is running as an independent program. The characteristic is that it consumes memory.

fast cgi. It is a long-live CGI. It can be executed all the time. As long as it is activated, it will not take time to fork every time. This method is independent of language. A CGI open extension with a scalable architecture whose main behavior is to keep the CGI interpreter process in memory and thus obtain higher performance.

ISAPI execution method is used in the form of a DLL dynamic library, which can be executed after being requested by the user. It will not disappear immediately after processing a user request, so thread safety checks are required to improve the program's performance. Execution efficiency, so if you are using ISAPI to execute PHP, it is recommended to choose the ThreadSafe version.

The FastCGI execution method uses a single thread to perform operations, so there is no need to perform thread safety checks. Removing the protection of thread safety checks can improve execution efficiency. Therefore, if FastCGI is used to execute PHP, it is recommended Select the NonThread Safe version.

Check the Thread Safety item through phpinfo();. This item is to check whether it is thread safe. If it is: enabled, generally speaking it should be the ts version, otherwise it is the nts version.

The above is the detailed content of What is the difference between php ts and nts. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn