Maison >développement back-end >Problème PHP >Que signifie php vc11 ?

Que signifie php vc11 ?

藏色散人
藏色散人original
2021-03-16 09:54:092489parcourir

php vc11 fait référence à la version vc11 de PHP. Avant que les utilisateurs ne téléchargent la version VC11, ils doivent installer "VisualC++RedistributableforVisualStudio2012".

Que signifie php vc11 ?

L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3

PHP à propos de VC11, VC9 , VC6 et Le problème de la sélection des versions Thread Safe et Non Thread Safe

Voici les informations que j'ai collectées lors de la configuration de l'environnement PHP pour votre référence :

Il existe maintenant des installations PHP packages disponibles en téléchargement sur le site officiel de PHP Que signifient les mots VC11 ou VC9 Quel package d'installation devrions-nous télécharger est le meilleur ? En fait, le site officiel de PHP donne la réponse :

La version VC6 est compilée à l'aide du compilateur Visual Studio 6. Si votre PHP est construit avec Apache, alors vous devez 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 VisualStudio2008, tandis que VC11 est compilée avec VisualStudio2012. 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.

Pour construire php, vérifiez d'abord la version du système d'exploitation S'il s'agit de Windows, cliquez ici : http://windows.php.net/download/

Si le système d'exploitation est 32. -bit ou 64 bits ? S'il est 32 bits, choisissez la version avec "x86" ; s'il est 64 bits, choisissez la version avec "x64". Alors regardez qu'est-ce qu'un 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 surprenant : la version officielle d'Apache httpd et la version officielle de PHP sont en réalité incompatibles ! Alors, comment fonctionne Apache+PHP sous Windows ? Vous pouvez utiliser VC11 pour compiler Apache httpd vous-même, mais cela pose trop de problèmes. PHP recommande officiellement de télécharger une version packagée tierce d'Apache httpd. Nous recommandons ce site : http://www.apachelounge.com/download/. la chose doit être expliquée : ce VC11 ne prend pas en charge XP. Si vous avez la nostalgie de XP comme moi, vous ne pouvez mettre à niveau que vers la version 5.4.24 qui est compilée avec VC11, et VC11 ne prend pas en charge XP et 2003.

Apprentissage recommandé : "Tutoriel vidéo PHP"

Si vous utilisez Linux, téléchargez le code source PHP ici : http://cn2.php.net/ téléchargements.php

Contrairement à 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. besoin d'installer un tas 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 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 :

gestion des paquets Deb (Ubuntu, Debian)

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

Ce n'est évidemment pas toujours applicable, car il y a le numéro de version 5 dans la commande, et personne ne sait ce qui va arriver à PHP6 à 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

S'il s'agit d'une ligne de commande php, installez yuminstall php-cli

Comment choisir les versions Thread Safe et Non ThreadSafe ?

À partir de la version 5.2.1, la version Windows de PHP est divisée en ThreadSafe (sécurité des threads) et None Thread Safe (NTS, sécurité sans thread). Quelle est la différence entre les deux ? Lequel faut-il utiliser ? 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 configurerons 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 une 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.

Tout d'abord, comprenez au sens littéral, Thread Safe est la sécurité des threads, et une vérification de la sécurité des threads (Thread) sera effectuée 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. Elle 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 utilisateur, des contrôles de sécurité des threads doivent donc être effectués. effectué pour améliorer les performances du programme, 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 y a donc pas besoin d'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