Heim > Artikel > Backend-Entwicklung > Was bedeutet nts in PHP?
In PHP bezieht sich nts auf „Nicht-Thread-Sicherheit“, was bedeutet, dass es keinen Datenzugriffsschutz bietet und während der Ausführung keine Thread-Sicherheitsprüfungen durchführt. Dies kann dazu führen, dass mehrere Threads nacheinander Daten ändern , und verursachen dann, dass es sich bei den resultierenden Daten um schmutzige Daten handelt.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP 7.1-Version, DELL G3-Computer
nts vollständiger Name ist One-Thread Safe, was nicht Thread-sicher ist, das heißt, es stellt keine Daten bereit Zugriffsschutz, und während der Ausführung wird kein Threading durchgeführt (Thread). Bei der Sicherheitsüberprüfung ist es möglich, dass mehrere Threads nacheinander Daten ändern, was zu fehlerhaften Daten führt.
Da es keine Thread-Sicherheit gibt, gibt es auch Thread-Sicherheit (Thread Safe).
Thread-sicher bedeutet, dass während der Ausführung Thread-Sicherheitsprüfungen durchgeführt werden, um zu verhindern, dass die CGI-Ausführungsmethode neue Threads startet, wenn neue Anforderungen vorliegen, die die Systemressourcen erschöpfen.
Der Unterschied zwischen PHP-Thread-Sicherheit und Nicht-Thread-Sicherheit:
Weil: Das Linux/Unix-System verwendet eine Multiprozess-Arbeitsmethode, während das Windows-System eine Multithread-Arbeitsmethode verwendet.
Das heißt: Die Grundeinheit der Aufgabenplanung im Linux-System ist der Prozess, und die Grundeinheit der Aufgabenplanung im Windows-System ist der Thread.
Im Allgemeinen konfigurieren wir PHP für die Ausführung im ISAPI-Modus. ISAPI ist ein Multi- Threaded-Modus, daher ist es viel schneller.
Aber es gibt ein Problem. Viele häufig verwendete PHP-Erweiterungen basieren auf der Linux/Unix-Multiprozessidee. Wenn diese Erweiterungen im ISAPI-Modus ausgeführt werden, treten Fehler auf und führen zum Ausfall von IIS.
Der CGI-Modus ist also die sicherste Möglichkeit, PHP unter IIS auszuführen, aber der CGI-Modus erfordert das Neuladen und Entladen der gesamten PHP-Umgebung für jede HTTP-Anfrage, und sein Verbrauch ist enorm.
Um der Effizienz und Sicherheit von PHP unter IIS Rechnung zu tragen, hat Microsoft die FastCGI-Lösung bereitgestellt.
FastCGI ermöglicht die Wiederverwendung von PHP-Prozessen, anstatt einen Prozess für jede neue Anfrage erneut zu öffnen. Gleichzeitig kann FastCGI auch die gleichzeitige Ausführung mehrerer Prozesse ermöglichen. Dies löst nicht nur das Problem des übermäßigen Verbrauchs des CGI-Prozessmodus, sondern nutzt auch die Tatsache aus, dass der CGI-Prozessmodus keine Thread-Sicherheitsprobleme aufweist.
Daher gilt:
Wenn Sie ISAPI zum Ausführen von PHP verwenden, müssen Sie die Thread-sichere (Thread-sichere) Version verwenden.
Wenn Sie den FastCGI-Modus zum Ausführen von PHP verwenden, ist keine Thread-Sicherheitsprüfung erforderlich. Verwenden Sie „Keine“. Die Thread-Safe-Version (NTS, nicht Thread-sicher) kann die Effizienz besser verbessern.
Wie soll ich auswählen, welches ich verwenden möchte (PHP-Thread-sicher, PHP nicht-Thread-sicher)?
Windos-Server:
1. Wenn Sie PHP+IIS sind, wählen Sie bitte: PHP nicht-Thread-sicher (NTS);
2 Sicherheit (Thread Safe (TS))
Linux-Server:
PHP unter Linux-Server gibt es keinen Unterschied zwischen PHP-Thread-sicheren und nicht-Thread-sicheren Versionen;
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet nts in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!