PHP est un langage de script largement utilisé dans le développement Web. Contrairement aux langues compilées, le code PHP doit être analysé dynamiquement au moment de l'exécution. L'interprète PHP fournit un environnement en cours d'exécution et dispose de deux modes de fonctionnement principaux: Thread-Safe (TS) et non-thread-safe (NTS). L'interprète PHP en mode TS prend en charge les environnements multipliés pour assurer la sécurité des filetages; tandis que le mode NTS ne prend pas en charge multiple et convient aux environnements monomodérants.
Bien que les deux modes puissent utiliser la même bibliothèque d'extension, la bibliothèque d'extension doit correspondre au type de php en filetage, sinon il provoquera un instable ou des erreurs lors de l'exécution.
Ensuite, nous présenterons comment vérifier si l'environnement PHP actuel est en mode TS ou NTS.
Dans les systèmes de type Linux ou Unix, vous pouvez utiliser le fichier de configuration de la ligne de commande ou PHP.ini pour déterminer si PHP est en mode fleurie.
Ouvrez le terminal et exécutez la commande suivante:
php -i | Grep «Sécurité des filetages»
Une fois la commande exécutée, la sortie sera similaire:
Sécurité du thread => Désactivé
Si le résultat est affiché comme activé , cela signifie que PHP est la version thread-safe (TS); Sinon, il est non-sécurisé (NTS).
Ouvrez le fichier php.ini et recherchez la sécurité du thread de mots clés. Habituellement, le contenu de configuration pertinent du mode TS sera le suivant:
; ; Sécurité en fil ; Valeur par défaut: activé ; Valeur de développement: activé ; Valeur de production: activé
Si une annotation similaire à ce qui précède apparaît et que la valeur par défaut ou l'environnement de développement est activée , cela signifie que PHP exécute une version à filetage.
Si PHP n'est pas en mode fileté, la valeur par défaut est le mode non-sécurisé. Une confirmation supplémentaire peut être effectuée via le script de ligne de commande suivant:
php -r 'echo (php_sapi_name () === "cli" &&! vide (ini_get ("disable_dl")))? "Non-thread-safe \ n": "thread-safe \ n"; '
Si le résultat de la sortie est non-sécurisé , cela signifie que PHP est le mode NTS.
La compréhension du type de filetage de PHP est très importante pour la configuration de l'environnement de développement et la compatibilité des bibliothèques d'extension. Grâce à la ligne de commande ou en affichant le fichier php.ini, vous pouvez rapidement confirmer si PHP exécute les versions TS ou NTS pour éviter d'exécuter des erreurs causées par la décalage de la version. Il est recommandé que lors de l'installation d'extensions, assurez-vous de vous assurer que la version d'extension est cohérente avec le type de filetage PHP pour assurer un environnement stable et fiable.