Heim  >  Artikel  >  Backend-Entwicklung  >  Wie wähle ich zwischen der PHP-Version „Non Thread Safe“ und „Thread Safe“? Was ist der Unterschied?

Wie wähle ich zwischen der PHP-Version „Non Thread Safe“ und „Thread Safe“? Was ist der Unterschied?

藏色散人
藏色散人nach vorne
2019-05-11 10:03:308491Durchsuche

PHP-Versionen sind unterteilt in „Non Thread Safe“ und „Non Thread Safe“ bezieht sich auf Nicht-Thread-Sicherheit und „Thread Safe“ bezieht sich auf Thread-Sicherheit. Wie wähle ich?

Wie wähle ich zwischen der PHP-Version „Non Thread Safe“ und „Thread Safe“? Was ist der Unterschied?

Der Unterschied zwischen Non Thread Safe und Thread Safe

  • ts(Thread-Safety ) Das heißt, Thread-Sicherheit Wenn ein Thread auf bestimmte Daten dieser Klasse zugreift, ist er geschützt und andere Threads können nicht darauf zugreifen ist mit dem Lesen fertig, andere Threads können es verwenden. Es kommt zu keiner Dateninkonsistenz oder Datenverschmutzung. Wählen Sie diese Version, wenn PHP im ISAPI-Modus geladen wird.

  • nts(Keine - Thread-sicherd. h. nicht threadsicher, d. h. es bietet keinen Datenzugriffsschutz. Es ist möglich, dass mehrere Threads die Daten nacheinander ändern, was zu fehlerhaften Daten führt. Wählen Sie diese Option, wenn PHP im schnellen CGI-Modus mit besserer Leistung ausgeführt wird;

  • ISAPI (Internet Server Application Programming Interface), bezieht sich normalerweise auf das Laden durch Der http-Server wird als Modul des von Microsoft vorgeschlagenen Servers ausgeführt, sodass er nur auf der Win-Plattform ausgeführt werden kann, z. B. Apache und IIS unter Win [man sagt, dass schnelles CGI stabiler funktioniert], während PHP unter Linux läuft im Apache-Modul oder php-fpm.

  • cgi (Common Gateway Interface) : Ein Tool für den HTTP-Server, um mit Ihrem Programm oder anderen Maschinen zu „kommunizieren“. Backend-Sprache, die mit dem Server kommuniziert. Zu diesem Zeitpunkt läuft PHP als eigenständiges Programm. Das Merkmal ist, dass es Speicher verbraucht.

  • Fast CGI. ist ein langlebiges CGI. Es kann jederzeit ausgeführt werden, solange es aktiviert ist Der Fork dauert jedes Mal. Diese Methode ist eine sprachunabhängige, skalierbare CGI-Architektur. Ihr Hauptverhalten besteht darin, den CGI-Interpreterprozess im Speicher zu halten und dadurch eine höhere Leistung zu erzielen.

Die ISAPI-Ausführungsmethode wird in Form einer dynamischen DLL-Bibliothek verwendet, die nach Anforderung durch den Benutzer ausgeführt werden kann. Sie verschwindet nicht sofort nach der Verarbeitung einer Benutzeranforderung, also Thread Sicherheitsüberprüfungen sind erforderlich, um die Ausführungseffizienz des Programms zu verbessern. Wenn Sie also ISAPI zur Ausführung von PHP verwenden, wird empfohlen, die ThreadSafe-Version zu wählen.

Die FastCGI-Ausführungsmethode verwendet einen einzelnen Thread zum Ausführen von Vorgängen, sodass keine Thread-Sicherheitsüberprüfungen erforderlich sind. Daher kann die Ausführungseffizienz verbessert werden, wenn FastCGI verwendet wird , Es wird empfohlen, die NonThread Safe-Version zu wählen.

Wie kann man also überprüfen, ob das aktuelle PHP Non Thread Safe (nicht Thread-sicher) oder Thread Safe (Thread-sicher) ist?

ist sehr einfach. Drucken Sie phpinfo() und aktivieren Sie die Option Thread Safety in den PHP-Versionsinformationen. Diese Option ist enable (threadsicher), andernfalls ist sie es Thread Safe (Sicherheitsversion ohne Thread). None Thread Safe

Das obige ist der detaillierte Inhalt vonWie wähle ich zwischen der PHP-Version „Non Thread Safe“ und „Thread Safe“? Was ist der Unterschied?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:aliyun.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen