Maison  >  Article  >  développement back-end  >  Que signifie php vc14 ?

Que signifie php vc14 ?

藏色散人
藏色散人original
2020-09-28 10:24:272688parcourir

php vc14 signifie que cette version de PHP est compilée avec Visual Studio 2015, ce qui signifie que lorsque les utilisateurs téléchargent la version VC14 de PHP, ils doivent d'abord installer "VisualC++RedistributableforVisualStudio2015".

Que signifie php vc14 ?

Recommandé : "Tutoriel vidéo PHP"

PHP VC14, VC11 , VC9 et Thread Safe et Non Thread Safe

Maintenant, le package d'installation PHP téléchargé depuis le site officiel de PHP comporte les mots VC14, VC11 ou VC9. De plus, Thread Safe et Non Thread Safe sont distingués, alors quels sont ces caractères ? Cela signifie, quel package d'installation devrions-nous télécharger est le meilleur ? En fait, le site officiel de PHP donne la réponse, et je vais vous la présenter ci-dessous !

Que signifient PHP VC14, VC11, VC9, Thread Safe et Non Thread Safe

Que signifie VC6/9/11/14 dans la version PHP ?

La version VC6 est compilée à l'aide du compilateur Visual Studio 6. Si votre PHP est construit à l'aide d'Apache, vous devez alors choisir la version VC6. (Il n'y a pas de VC6 pour PHP actuellement).

VC9 signifie que cette version de PHP est compilée avec Visual Studio 2008, tandis que VC11 est compilée avec Visual Studio 2012. Évidemment, VC14 est compilé avec Visual Studio 2015. Cela signifie

Si vous téléchargez la version VC9, vous devez d'abord installer VisualC++RedistributableforVisualStudio2008SP1

Si vous téléchargez la version VC11, vous devez d'abord installer VisualC++RedistributableforVisualStudio2012.

Si vous téléchargez la version VC14, vous devez d'abord installer Visual C++ Redistributable pour Visual Studio 2015.

Pour créer php, vérifiez d'abord la version du système d'exploitation. S'il s'agit de Windows, alors. l'adresse sur le site officiel

Le système d'exploitation est-il 32 bits ou 64 bits ? S'il est 32 bits, choisissez la version avec "x86". "x64". Alors regardez ce qu'est le serveur WEB ? S'il s'agit de la série IIS, choisissez la version avec "Non Thread Safe". S'il s'agit de la série Apache httpd, choisissez la version avec "Thread Safe". S'il s'agit d'Apache httpd, cela dépend également de la manière dont la version binaire est compilée. Il existe trois types de compilation : VC6, VC9 et VC11 (représentant respectivement Visual C++ 6, Visual C++ 2008 et Visual C++ 2012). Voici le problème : la dernière version officielle de PHP, 5.5, a été compilée avec VC11, et la 5.4 a été compilée avec VC9. Mais la dernière version d'Apache httpd est toujours compilée avec VC6. Cela signifie un fait étonnant : la version officielle d'Apache httpd et la version officielle de PHP sont en fait incompatibles ! Alors, comment fonctionne Apache+PHP existant sous Windows Vous pouvez utiliser VC11 pour compiler Apache httpd vous-même, mais c'est trop compliqué ? . PHP recommande officiellement de télécharger la version packagée tierce d'Apache httpd. Ils recommandent ce site : http://www.apachelounge.com/download/. Une chose à noter : ce VC11 ne prend pas en charge XP. J'ai la nostalgie de XP et je ne peux mettre à niveau que vers 5.4.24. 5.5 est compilé avec VC11, et VC11 ne prend pas en charge XP et 2003.

Si vous êtes sous Linux, téléchargez le code source de PHP ici

Différent de la version Windows ci-dessus, ce que vous téléchargez ici ne peut pas être utilisé directement. Il s'agit simplement du code source de PHP. Pour l'installer, vous devez le compiler vous-même. Pour compiler, vous devez installer un certain nombre de logiciels de compilation tels que gcc et make. J'ai vu dans la documentation que ./configure, make, make install fait référence à la version du code source de PHP.

Compiler PHP par vous-même est encore plus gênant. Il existe de nombreuses bibliothèques dépendantes et de nombreux pièges attendent les gens. J'en parlerai dans un autre article. Si cela vous pose problème, vous pouvez trouver une version compilée, notamment la bibliothèque logicielle officielle de chaque distribution. Ce qui suit prend le système Ubuntu et le système Centos populaires comme exemples pour illustrer respectivement ;

Style de gestion des paquets Deb (Ubuntu, Debian)

L'utilisation de la commande php apt-cache search peut rechercher de nombreux résultats, nous avons besoin C'est "php5", et la commande complète est : apt-get install php5

Ceci n'est évidemment pas toujours applicable, car la commande a le numéro de version 5, et personne ne sait ce qui arrivera à PHP6 dans l'avenir.

Si vous souhaitez installer un moteur php en ligne de commande dans le shell, installez ce package

apt-getinstall php5-cli

Gestion des packages RPM (Fedora, RedHat, SUSE, CentOS)

yuminstall php

Si C'est une ligne de commande php, installez simplement yuminstall php-cli

Comment choisir les versions Thread Safe et Non ThreadSafe ?

La version Windows de PHP a été divisée en ThreadSafe (sécurité des threads) et None Thread Safe (NTS, sécurité sans thread) depuis la version 5.2.1. Quelle est la différence entre les deux ? faut-il en utiliser un ? Lequel ? Voici une brève introduction.

À partir de la première version Windows de PHP 3.0.17 publiée le 20 octobre 2000, toutes les versions sont thread-safe car le système Windows utilise une méthode de travail multi-processus différente du système Linux/Unix. adopte une méthode de travail multithread. Si vous exécutez PHP en mode CGI sous IIS, cela sera très lent car le mode CGI est basé sur le multi-processus et non sur le multi-thread. Généralement, nous configurons PHP pour qu'il s'exécute en mode ISAPI. ISAPI est un mode multithread, beaucoup plus rapide. Mais il y a un problème. De nombreuses extensions PHP couramment utilisées sont développées sur la base de la pensée multi-processus de Linux/Unix. Lorsque ces extensions sont exécutées en mode ISAPI, elles tournent mal et font tomber IIS. Par conséquent, le mode CGI est le moyen le plus sûr d'exécuter PHP sous IIS, mais le mode CGI nécessite de recharger et de décharger l'intégralité de l'environnement PHP pour chaque requête HTTP, et sa consommation est énorme.

Afin de prendre en compte l'efficacité et la sécurité de PHP sous IIS, Microsoft a fourni la solution FastCGI. FastCGI permet de réutiliser les processus PHP au lieu de rouvrir un processus à chaque nouvelle requête. Dans le même temps, FastCGI peut également permettre à plusieurs processus de s'exécuter en même temps. Cela résout non seulement le problème de la consommation excessive du mode processus CGI, mais profite également du fait que le mode processus CGI ne présente pas de problèmes de sécurité des threads.

Comprenez d'abord le sens littéral, Thread Safe est la sécurité des threads, et des contrôles de sécurité des threads (Thread) seront effectués pendant l'exécution pour empêcher l'exécution CGI de démarrer de nouveaux threads en cas de nouvelles exigences et d'épuisement des ressources système. Non Thread Safe n'est pas thread-safe et n'effectue pas de contrôles de sécurité des threads (Thread) pendant l'exécution.

Par conséquent, si vous utilisez ISAPI pour exécuter PHP, vous devez utiliser la version ThreadSafe (Thread Safe) ; et si vous utilisez le mode FastCGI pour exécuter PHP, il n'est pas nécessaire d'utiliser la vérification de la sécurité des threads, utilisez None Thread ; La version sécurisée (NTS, non thread-safe) peut mieux améliorer l'efficacité.

Regardons les deux méthodes d'exécution de PHP : ISAPI et FastCGI.

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, des contrôles de sécurité des threads doivent donc être effectués. pour améliorer les performances du programme. Efficacité d'exécution, donc si ISAPI est utilisé pour exécuter PHP, il est recommandé de choisir la version Thread Safe

La méthode d'exécution FastCGI utilise un seul thread pour effectuer les opérations, il n'y a donc pas de thread. Vous devez effectuer des contrôles de sécurité des threads, à l'exception 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 Non Thread Safe.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn