Maison > Questions et réponses > le corps du texte
./configure --enable-curl
./configure --with-curl
1. Quelle est la différence entre les commandes d'activation et de paramètre ?
2. Comment compiler l'extension en php au lieu d'exister sous forme d'extension dynamique .so ?
3. Quelles extensions sont officiellement supportées par PHP ? Ceux du répertoire ext du package de code source PHP sont-ils officiellement pris en charge par PHP ? Peut-il être compilé en php ?
4. Quelle commande est utilisée pour compiler les extensions officiellement prises en charge en php ?
Que dois-je faire si je dois configurer l'extension Memcached ? Je sais déjà comment ajouter des modules spécifiquement. Ce que je veux savoir maintenant, c'est si je peux les ajouter directement lors de la compilation de php ? Est-ce que le package d'installation tiers requis sera automatiquement téléchargé pour moi ?
Si je dois prendre en charge laravel5.5, comment dois-je compiler php lorsque j'installe php ?
ringa_lee2017-05-16 13:05:51
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/php/etc
--with-MySQL=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-safe-mode
--enable-ftp
--enable-zip
--with-bz2
--with-jpeg-dir
Configuration | Instructions |
---|---|
--avec-png-dir | Activez la prise en charge des images png |
--avec-freetype-dir | Prise en charge ouverte de la bibliothèque de polices freetype |
--sans-iconv | Fermez la fonction iconv pour convertir entre les jeux de caractères |
--with-libXML-dir | Activez la prise en charge de la bibliothèque libxml2 |
--avec-XMLrpc | Ouvrez le langage C de XML-RPC |
--avec-zlib-dir | Activez la prise en charge de la bibliothèque zlib |
--avec-dieu | Activez le support de la bibliothèque gd |
--activer-gd-native-ttf | Supporte la bibliothèque de fonctions de chaîne TrueType |
--avec-boucle | Activez la prise en charge de l'outil de navigation curl |
--avec-curlwrappers | Utilisez l'outil curl pour ouvrir le flux d'URL |
--avec-ttf | Activez le support freetype1.*, vous n'avez pas besoin de l'ajouter |
--avec-xsl | Prise en charge des fichiers XSLT ouverts, bibliothèque libXML2 étendue, nécessite le logiciel libxslt |
--avec-gettext | Activez la prise en charge gettext de gnu, qui est utilisée par la bibliothèque de codage |
--avec-poire | Activer la prise en charge de la commande pear, utilisée pour l'extension PHP |
--activer-calendrier | Ouvrir l'extension du calendrier |
--enable-mbstring | Prise en charge des chaînes multi-octets |
--activer-bcmath | Ajustement de la taille de l'image ouverte, ce module est utilisé lors de l'utilisation de la surveillance zabbix |
--activer-sockets | Activer la prise en charge des sockets |
--activer-exif | Prise en charge des métadonnées d'image |
--activer-les-citations-magiques | Assistance aux Citations Magiques |
--disable-rpath | Fermez les fichiers d'exécution supplémentaires |
--désactiver-debug | Désactiver le mode débogage |
--with-mime-magic=/usr/share/file/magic.mime | Emplacement du fichier d'en-tête magique |
Configuration | Instructions |
---|---|
--enable-fpm | Ce paramètre n'est disponible qu'après application du patch PHP-fpm, le programme de démarrage installé par CGI |
--enable-fastCGI | Prise en charge du mode fastcgi pour démarrer PHP |
--activer-force-CGI-redirection | Démarrez PHP avec redirection |
--avec-ncurses | Une bibliothèque dynamique qui prend en charge le dessin d'écran ncurses et les fonctions d'interaction graphique basées sur un terminal de texte |
--enable-pcntl | freeTDS doit être utilisé, il peut être utilisé pour lier mssql |
Configuration | Instructions |
---|---|
--avec-mcrypt | Algorithme |
--avec-mhash | Algorithme
Une fois que Mysql a compilé la bibliothèque de développement Mysql, vous n'avez pas besoin de spécifier le chemin d'accès à mysql.
La compilation PHP a des dépendances de base. Pour compiler PHP, vous devez d'abord installer l'extension XML, car le noyau php5 a la prise en charge XML activée par défaut :
GD -> zlib, Png, Jpg, si vous avez besoin d'en prendre en charge d'autres, vous devez toujours compiler la bibliothèque d'extension en fonction de la situation réelle. La bibliothèque ttf a besoin du support de la bibliothèque freetype.
--enable-magic-quotes est un paramètre extrêmement déconseillé. Bien sûr, si vous avez besoin de PHP pour faire le travail sous-jacent à votre place, cela ne résout pas le problème de manière très approfondie.
--avec-openssl, nécessite la bibliothèque openssl.
mysqli est le pilote MySQL fourni par l'équipe MySQL et possède de nombreuses fonctions pratiques et caractéristiques typiques. Cependant, ce n'est pas le meilleur choix pour MySQL sur la plate-forme PHP. Il s'est avéré être une interface standard simple, à haute concurrence et facile à créer et à recycler. Cependant, PDO rencontrait également des problèmes de dépassement de mémoire avant la version 5.3. Après la version 5.3, lors de la lecture des ressources LOB d'Oracle, si la mémoire n'est pas restreinte, un dépassement de mémoire se produira toujours.
S'il s'agit du mode produit, il n'est pas recommandé d'utiliser pear, shmop, ftp, etc. Ce qu'ils veulent faire, c'est utiliser C/C++, Java ou même d'autres langages de script. Il existe des options bonnes et rapides, pas besoin de le faire. se limiter à utiliser PHP pour l'implémenter. Les bibliothèques de classes inconnues et les bibliothèques qui ne sont pas couramment utilisées ne sont pas recommandées. Magic-quote, session.auto_start, les informations sur le serveur PHP, les informations sur les erreurs PHP, etc. doivent être fermés dès que possible une fois la compilation terminée pour éviter d'exposer les informations sur le serveur.
Le mode Serveur Web correspondant à PHP ne nécessite qu'un seul module, fastcgi et fpm. Le serveur n'est pas votre domaine expérimental. Fastcgi peut choisir Nginx et lighttpd. En fait, Nginx utilise également spwan-fcgi de lighttpd pour la gestion des processus fcgi. fpm utilise PHP lui-même pour gérer plusieurs processus, un peu similaire à un proxy back-end. Quel que soit le mode, lors de la sortie d'un serveur de produit, un réglage des processus et des threads doit être effectué, et suffisamment de tests de résistance doivent être effectués pour trouver la meilleure combinaison de numéros de processus.
Choisissez une extension de cache PHP OPCode. Ceci est également très important. Sous Linux 2.6 core et fcgi, xcache a une bonne expérience pratique. D'autres subiront une grave dégradation des performances après l'augmentation du nombre de concurrences.
Si vous voulez vraiment en faire l'expérience, vous préférez compiler plusieurs versions de PHP plutôt que de collecter diverses extensions pour une seule version de PHP afin de l'adapter à différents environnements. Cela vous mettra dans un dilemme
.