En PHP, nts fait référence à "non-thread safety", ce qui signifie qu'il ne fournit pas de protection contre l'accès aux données et n'effectue pas de contrôles de sécurité des threads pendant l'exécution, ce qui peut amener plusieurs threads à modifier les données les uns après les autres, provoquant le résultat ; ce sont des données sales.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
nts le nom complet est one-Thread Safe, qui n'est pas thread-safe, c'est-à-dire qu'il ne fournit pas de données protection d'accès, et aucun thread n'est effectué pendant l'exécution (thread) du contrôle de sécurité ; il est possible que plusieurs threads modifient les données successivement, ce qui entraîne des données sales.
Puisqu'il existe une sécurité non-thread, il existe également une sécurité thread (Thread Safe).
Thread Safe signifie sécurité des threads. Des contrôles de sécurité des threads seront effectués pendant l'exécution pour empêcher la méthode d'exécution CGI de démarrer de nouveaux threads lorsqu'il y a de nouvelles exigences dues à l'épuisement des ressources système.
La différence entre la sécurité des threads PHP et la sécurité des non-threads :
Parce que : le système Linux/Unix utilise une méthode de travail multi-processus, tandis que le système Windows utilise une méthode de travail multi-thread.
C'est-à-dire : l'unité de base de la planification des tâches dans le système Linux est le processus, et l'unité de base de la planification des tâches dans le système Windows est le thread ;
Généralement, nous configurerons PHP pour qu'il s'exécute en mode ISAPI, ISAPI est un multi- mode threadé, donc c'est rapide Beaucoup plus.
Mais il y a un problème : de nombreuses extensions PHP couramment utilisées sont développées sur la base de la pensée multi-processus de Linux/Unix. Lorsque ces extensions sont exécutées en mode ISAPI, des erreurs se produisent et font tomber IIS.
Le mode CGI est donc le moyen le plus sûr d'exécuter PHP sous IIS, mais le mode CGI nécessite de recharger et de décharger l'intégralité de l'environnement PHP pour chaque requête HTTP, et sa consommation est énorme.
Afin de prendre en compte l'efficacité et la sécurité de PHP sous IIS, Microsoft a fourni la solution FastCGI.
FastCGI permet de réutiliser les processus PHP au lieu de rouvrir un processus à chaque nouvelle requête. Dans le même temps, FastCGI peut également permettre à plusieurs processus de s'exécuter en même temps. Cela résout non seulement le problème de la consommation excessive du mode processus CGI, mais profite également du fait que le mode processus CGI ne présente pas de problèmes de sécurité des threads.
Par conséquent :
Si vous utilisez ISAPI pour exécuter PHP, vous devez utiliser la version Thread Safe (thread safe) ;
Si vous utilisez le mode FastCGI pour exécuter PHP, il n'est pas nécessaire d'utiliser la vérification de la sécurité des threads, utilisez Aucun. La version Thread Safe (NTS, non-thread-safe) peut mieux améliorer l'efficacité.
Comment dois-je choisir lequel utiliser (PHP thread-safe, PHP non-thread-safe) ?
serveur Windos :
1. Si vous êtes PHP+IIS, veuillez choisir : PHP non thread-safe (None Thread Safe (NTS)) ; sécurité (Thread Safe (TS))
serveur Linux :
PHP sous serveur Linux, il n'y a pas de distinction entre les versions PHP thread-safe et non thread-safe
Apprentissage recommandé : "
Tutoriel vidéo 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!