Maison  >  Article  >  développement back-end  >  Comment choisir entre la version PHP Non Thread Safe et Thread Safe ? Quelle est la différence ?

Comment choisir entre la version PHP Non Thread Safe et Thread Safe ? Quelle est la différence ?

藏色散人
藏色散人avant
2019-05-11 10:03:308526parcourir

Les versions PHP sont divisées en Non Thread Safe et Thread Safe. Non Thread Safe fait référence à la sécurité non-thread, et Thread Safe fait référence à la sécurité des threads. Comment choisir ?

Comment choisir entre la version PHP Non Thread Safe et Thread Safe ? Quelle est la différence ?

La différence entre Non Thread Safe et Thread Safe

  • ts(Thread-Safety ) C'est-à-dire 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 le thread. a fini de lire, d'autres discussions peuvent l'utiliser. Il n'y aura pas d'incohérence ou de pollution des données. Sélectionnez cette version lorsque php est chargé en mode ISAPI. Sélectionnez cette version lorsque php est chargé en mode ISAPI

  • nts(Aucun. - Thread Safe)c'est-à-dire non thread-safe, c'est-à-dire qu'il ne fournit pas de protection contre l'accès aux données. Il est possible que plusieurs threads modifient les données les uns après les autres, ce qui entraîne des données sales. Sélectionnez ceci lorsque php s'exécute en mode cgi rapide, avec de meilleures performances

  • ISAPI (Internet Server Application Programming Interface), fait généralement référence au chargement par. le serveur http et fonctionnant comme un module du serveur proposé par Microsoft, il ne peut donc fonctionner que sur la plateforme win, comme apache et iis sous win [on dit que fast cgi fonctionne de manière plus stable], tandis que php sous Linux s'exécute dans le module Apache ou php-fpm.

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

  • fast cgi. est un CGI de longue durée Il peut être exécuté à tout moment. Tant qu'il est activé, il n'aura pas besoin d'être exécuté. à chaque fois. Le fork prend du temps. Cette méthode est une extension ouverte CGI à architecture évolutive et indépendante du langage. Son comportement principal est de conserver le processus de l'interpréteur CGI en mémoire et donc 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, donc le thread. des contrôles de sécurité sont nécessaires. , pour améliorer l'efficacité d'exécution du programme, 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 choisir la version NonThread Safe.

Alors, comment vérifier si le PHP actuel est Non Thread Safe (non-thread-safe) ou Thread Safe (thread-safe) ?

est très simple. Imprimez phpinfo() et cochez l'option Thread Safety dans les informations de version PHP. Cette option est enable, qui est la version Thread Safe (thread-safe), sinon c'est le cas. Version None Thread Safe (sécurité non threadée).

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer