Maison  >  Article  >  développement back-end  >  Différence entre NTS et TS pour PHP ?

Différence entre NTS et TS pour PHP ?

Guanhui
Guanhuioriginal
2020-07-21 14:27:252052parcourir

Différence entre NTS et TS pour PHP ?

Quelle est la différence entre NTS et TS pour PHP ?

La différence entre NTS et TS de PHP : le premier peut utiliser un mécanisme de verrouillage lorsqu'il est accessible par plusieurs threads, de sorte qu'il n'y aura pas d'incohérence ou de pollution des données, tandis que le second ne permet pas d'accéder aux données. Protection, de sorte que des lectures sales de données peuvent se produire, mais les performances seront meilleures.

ts (Thread-Safety) signifie sécurité des threads. Lorsqu'il est accessible par plusieurs threads, un mécanisme de verrouillage est adopté lorsqu'un thread accède à certaines données de cette classe, il est protégé et les autres threads ne peuvent pas y accéder jusqu'à ce que ce thread. Après lecture, d'autres discussions peuvent l'utiliser. Il n'y aura pas d'incohérence ou de pollution des données. Choisissez cette version lorsque php est chargé en mode ISAPI. Sélectionnez cette version lorsque php est chargé en mode ISAPI

nts (None-Thread Safe) n'est pas thread-safe. , c'est-à-dire que la protection de l'accès aux données n'est pas fournie, et il est possible que plusieurs threads modifient les données successivement, ce qui entraîne des données sales. Lorsque php est exécuté en mode cgi rapide, choisissez cette version pour de meilleures performances

ISAPI ; (Internet Server Application Programming Interface), fait généralement référence au fait d'être chargé par le serveur http et exécuté sous la forme d'un module serveur. Il a été proposé par Microsoft, il ne peut donc fonctionner que sur la plate-forme Win, telle qu'Apache et iis sous Win. [on dit que travailler en mode cgi rapide est plus stable], alors que php sous Linux fonctionne comme un module Apache ou php-fpm.

cgi (Common Gateway Interface) : Un outil permettant au serveur HTTP de "parler" avec votre programme ou d'autres machines. Pour parler franchement, cig est un langage d'arrière-plan qui peut communiquer avec le serveur. À l’heure actuelle, PHP fonctionne comme un programme indépendant. La particularité est qu'il consomme de la mémoire.

cgi rapide. C'est un CGI de longue durée. Il peut être exécuté à tout moment, il ne faudra pas de temps pour le forker à chaque fois. Extension ouverte CGI avec une architecture évolutive dont le comportement principal est de garder le processus interpréteur CGI en mémoire et ainsi d'obtenir des performances plus élevées.

La méthode d'exécution ISAPI est utilisée sous la forme d'une bibliothèque dynamique DLL, qui peut être exécutée après avoir été demandée par l'utilisateur. Elle ne disparaîtra pas immédiatement après le traitement d'une demande de l'utilisateur, des contrôles de sécurité des threads doivent donc être effectués. pour améliorer les performances du programme. Efficacité d'exécution, donc si vous utilisez ISAPI pour exécuter PHP, il est recommandé de choisir la version ThreadSafe.

La méthode d'exécution FastCGI utilise un seul thread pour effectuer des opérations, il n'est donc pas nécessaire d'effectuer des contrôles de sécurité des threads. Par conséquent, si FastCGI est utilisé pour exécuter PHP. , il est recommandé de sélectionner la version NonThread Safe.

Vérifiez l'élément Thread Safety via phpinfo();. Cet élément permet de vérifier s'il est thread-safe. S'il est : activé, d'une manière générale, il doit s'agir de la version ts, sinon il s'agit de la version nts.

Tutoriel recommandé : "PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn