De nos jours, les packages d'installation PHP téléchargés depuis le site officiel de PHP portent tous les mots VC11 ou VC9. Qu'est-ce que cela signifie ? Quel package d'installation devrions-nous mieux télécharger ? 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 Visual Studio 2008, tandis que VC11 est compilée avec Visual Studio 2012. Cela signifie que 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. système. , s'il s'agit de Windows, allez ici : http://windows.php.net/download/
Le système d'exploitation est-il 32 bits 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.
Si vous utilisez Linux, téléchargez le code source de PHP ici : http://cn2.php.net/downloads.php
Différent de la version Windows ci-dessus, celle téléchargée ici Impossible de l'utiliser directement, c'est juste le code source de PHP. Pour l'installer, vous devez le compiler vous-même. Pour le compiler, vous devez installer un tas de logiciels de compilation tels que gcc et make. J'ai vu que ./configure, make et make install sont mentionnés dans le document, qui 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
type de gestion des paquets Deb (Ubuntu, Debian)
Utilisez la commande php apt-cache search pour chercher Il y a beaucoup de résultats, il nous faut "php5", la commande complète est : apt-get install php5
Ce n'est évidemment pas toujours applicable, car la commande a le numéro de version 5, personne ne sait ce qui va arriver PHP6 dans le futur.
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.
Depuis la première version Windows de PHP 3.0.17 publiée le 20 octobre 2000, toutes les versions sont thread-safe. Cela est dû au fait que la méthode de travail multi-processus est différente du système Linux/Unix. Le système Windows utilise 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 de l'utilisateur, des contrôles de sécurité des threads sont donc nécessaires. améliorer les performances du programme. L'efficacité de l'exécution, donc si vous utilisez ISAPI 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 des 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!