Comment configurer ./configure lors de la compilation de PHP sous Linux ?
迷茫
迷茫 2017-05-16 13:03:51
0
1
701

./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 ?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(1)
左手右手慢动作

Spécifiez le répertoire d'installation de php

--prefix=/usr/local/php

Intégrer Apache. La fonction d'apxs est d'utiliser l'instruction LoadModule dans mod_so pour charger le module spécifié dans Apache et demander à Apache d'ouvrir le module SO

--with-apxs2=/usr/local/apache/bin/apxs

Spécifiez l'emplacement du php.ini

--with-config-file-path=/usr/local/php/etc               

répertoire d'installation mysql, prise en charge de mysql

--with-MySQL=/usr/local/mysql

La technologie d'extension MySQLi peut non seulement appeler des procédures stockées MySQL et traiter des transactions MySQL, mais également rendre l'accès à la base de données plus stable.

--with-mysqli=/usr/local/mysql/bin/mysql_config            

Activez le mode sans échec

--enable-safe-mode    

Activer la prise en charge FTP

--enable-ftp    

Activez la prise en charge zip

--enable-zip    

Activez la prise en charge des fichiers bz2

--with-bz2            

Activez la prise en charge des images JPEG

--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

Paramètres utilisés uniquement pour l'installation CGI

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

Extensions aux algorithmes mhash et mcrypt

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

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal