52 votes

PHP est-il thread-safe?

  • Est PHP (comme de 5.2) thread-safe sur Linux/UNIX?
  • Serait-il possible de l'utiliser avec Apache Travailleur-MPM ou de l'Événement-MPM?

Les faits que j'ai recueillies jusqu'à présent ne sont pas concluants:

  • binaires par défaut inclus dans la plupart des distributions ont ZTS désactivé, donc je suis au courant, que j'allais avoir à recompiler.
  • en théorie Moteur Zend core (PHP) avec ZTS activé est thread-safe.
  • il est dit que certains modules peuvent ne pas être thread-safe, mais n'ai pas trouvé de liste des modules qui sont ou qui ne le sont pas.
  • PHP FAQ membres assez bien la même que ci-dessus.

Quelle est votre expérience?

EDIT: Ce n'est pas seulement à propos de segmentation ("violation d'accès" dans les fenêtres de la nomenclature). Il ya beaucoup plus à la sécurité des threads.

24voto

OIS Points 5566

Je sais que gettext et set_locale ne sont pas threadsafe. PHP ne doit pas être utilisé avec un MPM fileté.

PHP n'est pas encore thread-safe .

6voto

AbdolHosein Points 1

Voir ici pour la liste des extensions sécurisées par les threads et non sécurisées par les threads (* les marques ne sont pas thread-safe et les autres le sont):

http://php.net/manual/en/faq.obtaining.php#faq.obtaining.optional

5voto

Tim Post Points 21270

Une meilleure question serait: "Est le code PHP suivant va déclencher des violations d'accès si MPM est-il utilisé?" Ou, "Avez-vous vécu le comportement étrange probablement attribuable à des problèmes de concurrence, en utilisant les fonctions suivantes?"

Sinon, c'est la roulette russe. Si vous utilisez certains emballés application, il peut très bien fonctionner maintenant mais pause d'un mois à partir de maintenant, quand une nouvelle version de l'application qui vient de sortir.

Je déconseille fortement d'utiliser MPM avec PHP en général. Toutefois, si vous avez un petit code à exécuter, vous pouvez poster, et nous pourrions vous dire si vous allez frapper un piège.

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