Choisir entre PHP thread-safe et non-thread-safe : comment prendre la bonne décision ?
P粉350036783
P粉350036783 2023-12-23 23:34:59
0
1
515

Je développe une application Laravel 9.x sous Windows 10. Ma version PHP actuelle est PHP 8.1.5 (cli) (build: Apr 12 2022 17:38:57) (ZTS Visual C++ 2019 x64) . S'agit-il d'une version thread-safe ou d'une version non thread-safe ? comment pourrais-je le savoir ? Quand dois-je choisir la version thread-safe plutôt que la version non thread-safe ?

J'ai essayé de rechercher cette question sur StackOverflow, mais les questions/réponses que j'ai vues semblaient dater d'une décennie ou plus - quelque chose comme ça - et je soupçonne fortement que si je posais cette question aujourd'hui, j'obtiendrais probablement une réponse différente simplement C'est parce que la technologie a changé ces dernières années. Est-ce une hypothèse raisonnable ? (Au moins, ma version actuelle de PHP utilise apparemment le nouveau compilateur VC++ 2019, pas VC6 ou VC9.)

Je ne sais pas encore à quoi ressemblera mon environnement de production, ni même si l’application que je développe parviendra un jour en production, puisque c’est juste une application que j’écris pour (ré)apprendre Laravel. Je vais probablement mettre cela en production à un moment donné comme démo pour une application Laravel, mais si ce sera sur un service d'hébergement, Netlify ou autre chose, je ne sais pas encore.

Juste pour vous donner un aperçu, cette question n'a été posée que parce que j'essayais d'apprendre comment parcourir le code source de Laravel pour déboguer un problème, ce qui m'a évidemment obligé d'ajouter XDebug à XAMPP. Les instructions que j'ai trouvées pour installer XDebug m'ont indiqué ici et m'ont suggéré de télécharger les binaires Windows pour ma version de PHP. Il n'y a pas de binaires pour 8.1.5, donc je ne sais pas si l'un des binaires de 8.1 fonctionnera, ou s'il est préférable d'utiliser 8.1 thread-safe ou 8.1 non-thread-safe. Ce serait mieux si mon PHP était d'abord mis à niveau vers la version 8.2, je ne sais toujours pas si thread-safe ou non thread-safe est la meilleure option.

Quelqu'un peut-il me parler de ces problèmes ?

P粉350036783
P粉350036783

répondre à tous(1)
P粉033429162

Est-ce une version thread-safe ou non thread-safe ? comment pourrais-je le savoir ?

Vous pouvez utiliser les anciennes colonnes phpinfo() 函数并查找Thread Safety.

Si PHP est configuré dans votre environnement PATH, vous pouvez même l'obtenir via la CLI à l'aide de commandes rapides php -i | grep 线程

Quand dois-je choisir la version thread-safe plutôt que la version non thread-safe ?

Selon la Documentation officielle PHP

Je ne sais pas encore à quoi ressemblera mon environnement de production...

D'une manière générale, il n'y a aucune différence dans l'exécution du code TS ou NTS. C'est plus orienté serveur Web.

Si je me souviens bien, XAMPP utilise Apache Handler par défaut, il s'agit donc probablement d'une version thread-safe. Oui, les binaires Xdebug pour PHP8.1 fonctionnent correctement.

Techniquement, NTS devrait être légèrement plus rapide car il n'a pas besoin de prendre en compte la sécurité des threads.

Personnellement, je ne pense pas que cela ait de l'importance à moins que vous souhaitiez passer plus de temps à bricoler le serveur Web, passer à FastCGI ou PHP-FPM puisque vous êtes encore en phase de développement, je pense s'en tenir aux paramètres par défaut et se concentrer sur ce sera plus efficace pour le compléter.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!