97 votes

PHP Thread Safe et Non-Thread Safe pour Windows

Je suis en train de télécharger PHP pour Windows. J'ai deux options sur le site web.

  1. PHP Thread Safe
  2. PHP Non-Thread Safe

Veuillez répondre aux questions suivantes :

  1. Quelle est la différence entre les deux ? Quels sont les avantages et les inconvénients de l'un par rapport à l'autre ?
  2. Je suis en train de développer un site de commerce électronique qui aura un trafic important, lequel est le plus recommandé et pourquoi ?

1 votes

1 votes

Qu'entendez-vous par "trafic intense" et comment pouvez-vous être sûr de l'obtenir ?

0 votes

@Crack- Un trafic important signifie que de nombreux utilisateurs utilisent le site web à un moment donné. Pourquoi je ne peux pas en être sûr ! Il y a un problème ?

101voto

Crack Points 2041

Extrait de la documentation PHP :

Thread Safety signifie que le binaire peut fonctionner dans un contexte de serveur web multithread, tel qu'Apache 2 sous Windows. Thread Safety fonctionne en créant une copie de stockage local dans chaque thread, de sorte que les données n'entrent pas en collision avec un autre thread.

Alors, que dois-je choisir ? Si vous choisissez d'exécuter PHP en tant que binaire CGI, alors vous n'aurez pas besoin de la sécurité thread, car le binaire est invoqué à chaque requête. Pour les serveurs web multithreads, comme IIS5 et IIS6, vous devez utiliser la version threadée de PHP.

Cela dépend donc de la façon dont vous voulez utiliser PHP :

  • Apache + LoadModule : Thread Safe
  • Apache + FastCGI : Non-Thread Safe
  • IIS : Thread Safe
  • IIS + FastCGI : Non-Thread Safe

Le manuel de PHP a de belles instructions de montage .

Il est préférable d'exécuter PHP avec FastCGI, car il est plus rapide et permet une configuration plus fine de la sécurité.

11 votes

Ce site page dire que : "Si vous utilisez PHP avec IIS, vous devez utiliser les versions Non-Thread Safe (NTS) de PHP", alors que la réponse dit : "IIS : Thread Safe"

9 votes

Oui, et il mentionne FastCGI. Thread Safe est destiné à l'utilisation de l'ISAPI (php5isapi.dll).

3 votes

Pourquoi s'embêter avec l'option non thread-safe ? C'est comme : si je pouvais choisir entre acheter une voiture sûre et une voiture non sûre, pourquoi choisirais-je la voiture non sûre ? Ses performances sont-elles meilleures ?

2voto

Jim Points 156

Rapide et simple : Si vous utilisez Apache, éditez votre fichier Apache24 \conf\httpd.conf et recherchez "loadmodule". Si vous voyez que votre loadmodule fait référence à un .dll, quelque chose comme :

LoadModule php7_module "e:/x64Stack/PHP/php7.1.9/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "e:/x64Stack/PHP/php7.1.9"

Alors vous voulez Sécurité du fil activée o TS - Version Thread Safe .

Sinon, si vous utilisez IIS ou Apache avec CGI, alors la saveur NTS.

J'utilise plusieurs piles et, au sein de celles-ci, plusieurs serveurs et versions de PHP. Ne vous laissez pas déconcerter par les chemins / php ou les versions des serveurs.

-2voto

Saso.Filipovic Points 119

En plus de Crack, depuis 5.4 vous pouvez utiliser serveur web intégré (ça marche bien !).

Avertissement Ce serveur web a été conçu pour faciliter le développement d'applications. Il peut également être utile à des fins de test ou pour des démonstrations d'applications exécutées dans un environnement contrôlé. démonstrations d'applications exécutées dans des environnements contrôlés. Il n'est pas destiné à être un serveur Web complet. Il ne doit pas être utilisé sur un réseau public.

14 votes

Vous devez ajouter une sorte de référence à ce dont vous parlez. Quel serveur web intégré ? Quel est le rapport entre ThreadSafe et NotThreadSafe ?

3 votes

Je pense que par le serveur web intégré, il veut dire Le serveur web intégré de PHP ( php -S ip:port ) - mais je n'ai aucune idée de la relation avec la sécurité des fils.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X