Maison >développement back-end >tutoriel php >Comment installer des extensions de PHP à partir de la source
Parfois, il est difficile de savoir quelles extensions PHP vous aurez besoin avant d'installer PHP. Dans les cas où vous devez ajouter des extensions plus tard, vous pourriez avoir de la chance et l'extension pourrait être dans le référentiel du système d'exploitation que vous utilisez. Ce pourrait être un simple sud-apt-get install php5-in intl. Dans d'autres cas, cependant, vous devrez peut-être l'installer à partir de Source - PhalCon en est un cas, mais il rend la procédure extrêmement simple en introduisant le support des fournisseurs, les raccourcis et les instructions pré-écrites pour votre système d'exploitation. Et s'il n'y a pas de tel pour d'autres extensions, cependant?
Dans ce tutoriel, nous allons passer en installant des extensions personnalisées sur les systèmes Linux (et OS X - le processus est presque identique). La procédure est très similaire à ce que nous avons déjà fait sur Nitrous.io, mais adapté pour les environnements locaux - plus précisément, Laravel Homestead. Vous pouvez facilement dériver des instructions d'installation de ce tutoriel et les appliquer à d'autres distros.
Si vous ne l'avez pas déjà fait, lisez la publication de propriété familiale liée ci-dessus et faites-la opération. Immédiatement après avoir exécuté une nouvelle boîte de propriété familiale, vous devriez être en mesure de le faire:
C'est parfaitement bien, cela se produit parce que le dossier qui est monté par défaut ne contient en fait aucun fichier. Maintenant, SSH vagabond dans la machine virtuelle et exécutez les commandes suivantes:
<span>cd Code </span><span>git clone https://github.com/Swader/publicinfo</span>
Cela crée un fichier d'informations PHP valide dans le chemin d'accès sur lequel Homestead est défini par défaut. Rafraîchir l'URL produira désormais un écran phpinfo:
Pour construire des extensions à partir de la source, nous avons besoin des outils PHP Dev installés sur notre machine, ainsi qu'un compilateur qui peut produire le fichier d'extension. Voici comment vous installez ces conditions préalables sur divers systèmes d'exploitation:
<span>cd Code </span><span>git clone https://github.com/Swader/publicinfo</span>
<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
<span>sudo yum install php-devel php-mysql gcc libtool</span>
Si vous utilisez la propriété la plus récente, tous ces outils seront déjà installés pour vous. Avec tout préparé, commençons à installer des extensions.
Il existe deux types d'extensions que vous pouvez installer: groupés avec PHP mais pas installés par défaut, et les extensions de tiers. Les extensions de tiers comme Phalcon facilitent généralement le processus d'installation en fournissant des raccourcis, car ils n'ont pas à se conformer à certaines traditions que les extensions de PHP sont liées par.
Tout d'abord, passons dans le dossier de la maison sur le VM: CD ~. Là-bas, faites un dossier de téléchargements et CD dedans. Lors de l'installation d'une extension groupée, vous aurez besoin du code source de PHP sur votre machine, de préférence une correspondant à votre version actuelle. La version Homestead utilise est 5.5.12, donc je vais télécharger celui-là:
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
J'utilise le miroir belge ci-dessus, n'hésitez pas à utiliser celui de l'un ou l'autre des archives de téléchargement.
Pour voir les sources de toutes les extensions groupées, accédez au dossier EXT dans le dossier de code source PHP désarchivé et faites une liste avec LS.
Tout d'abord, nous installerons l'extension PHP-INTL si vous ne l'avez pas déjà installée. Si vous le faites, c'est bien - la procédure d'installation que vous verrez ci-dessous est identique pour chaque extension PHP groupée. L'extension INTL est pour l'internationalisation - Lisez la suite ici si vous êtes intéressé.
Voyant que l'extension INTL a besoin de la bibliothèque des soins intensifs comme condition préalable (comme indiqué dans les exigences), installons cela en premier.
<span>wget http://be2.php.net/distributions/php-5.5.12.tar.bz2 </span><span>tar xvjf php-5.5.12.tar.bz2 </span><span>cd php-5.5.12</span>
Sous d'autres distributions, les instructions d'installation peuvent varier. Il est préférable que vous vous référez au site de l'USI ou aux documents de votre distribution individuelle pour cette étape.
Une fois les soins intensifs installés, effectuez les éléments suivants dans le dossier EXT:
<span>sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg</span>
Expliquons ce qui se passe.
Tout ce que nous devons faire maintenant est d'activer l'extension en faisant consommer php.ini. Nous le ferons plus tard, compilons d'abord une extension tierce.
Nous installerons Mongo comme extension tiers. Il existe des distributions binaires disponibles pour Mongo qui simplifient l'installation, mais faisons-le manuellement pour l'éducation. Nous supposerons que vous avez déjà installé le Mongo réel et que vous vous concentrez donc uniquement sur l'extension PHP. Si vous n'avez pas installé Mongo, reportez-vous à leurs documents d'installation.
<span>cd Code </span><span>git clone https://github.com/Swader/publicinfo</span>
Cela a construit notre fichier mongo.so et l'a placé dans le dossier Extensions de notre installation PHP. Nous allons l'activer dans la section suivante.
Pour voir si les fichiers .so compilés sont en effet dans notre dossier d'extensions PHP, énumérez son contenu:
Comme vous pouvez le voir, ils sont mis en évidence en vert vif.
pour leur permettre, nous devons en parler à php.ini. Il existe plusieurs façons de le faire:
<span>cd Code </span><span>git clone https://github.com/Swader/publicinfo</span>
Ce dossier est le référentiel de tous ces fichiers INI individuels. Créez deux nouveaux fichiers ici:
<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
Ces commandes ont créé deux nouveaux fichiers INI, chacun pour l'une des extensions que nous avons déjà construites. Comme ils se trouvent maintenant dans le dossier MODS-disponible, nous pouvons utiliser l'outil de ligne de commande PHP5enMod (abréviation pour PHP Activer Mod).
<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
Remarque: si vous n'avez pas l'outil PHP5EnMod, symboliser les fichiers INI dans le dossier Conf.d de divers runtimes PHP fera l'affaire:
<span>sudo yum install php-devel php-mysql gcc libtool</span>
La raison pour laquelle il y a quatre entrées est que nous avons la version de la ligne de commande de PHP et la version FPM de PHP. Chacun utilise son propre fichier php.ini, et chacun charge son propre dossier Conf.d pour les extensions - par conséquent, nous devons ajouter les deux extensions aux deux versions PHP si nous voulons les extensions disponibles. Utilisez cette approche uniquement si vous n'avez pas l'outil PHP5enMod.
Enfin, redémarrons Nginx et PHP-FPM pour charger ces modifications.
<span>yast2 -i php5-pear php5-devel php5-mysql gcc</span>
Pour voir si nous les avons installés, actualisez respectivement l'écran phpinfo et recherchez respectivement Mongo et Intl.
Succès!
Pour supprimer les extensions, il n'est pas nécessaire de supprimer des fichiers réels, sauf si vous êtes vraiment bas dans l'espace. Vous pouvez le faire de trois manières:
Comme vous pouvez le voir, l'installation d'extensions de Source est extrêmement simple, même s'il n'y a pas d'instructions précises et même si l'extension n'est pas prise en charge par le référentiel officiel d'un système d'exploitation. La prochaine fois que vous devez ajouter une extension dans votre installation PHP sur un système * Nix (ce didacticiel s'applique également à OS X), reportez-vous à ce message pour un rafraîchissement.
Veuillez laisser vos commentaires ci-dessous, et faites-moi savoir si vous êtes confus par une extension spécifique et que vous souhaitez aider à l'installer.
Avant de commencer à installer des extensions de PHP à partir de la source, vous devez avoir quelques choses en place. Tout d'abord, vous devez installer PHP sur votre système. Vous devez également configurer l'environnement de développement PHP, qui comprend des outils comme un compilateur et faire. De plus, vous devez avoir le code source PHP disponible, car vous construirez l'extension directement à partir de ce code. Enfin, vous devez avoir le code source de l'extension. Cela peut généralement être téléchargé à partir du site officiel de l'extension ou à partir d'un référentiel comme PECL.
Après l'installation d'une extension PHP, vous pouvez vérifier son installation en utilisant la fonction phpinfo (). Cette fonction fournit de nombreuses informations sur votre installation PHP, y compris la liste des extensions installées. Pour l'utiliser, créez un nouveau fichier PHP dans la racine du document de votre serveur Web, ajoutez un appel à phpinfo (), puis affichez ce fichier dans votre navigateur Web. Les extensions installées sont répertoriées dans la section «PHP Core».
Oui, vous pouvez installer des extensions de PHP sur un système Windows. Cependant, le processus est légèrement différent par rapport à un système de type Unix. Au lieu de compiler l'extension à partir de la source, vous téléchargeriez généralement un fichier DLL précompilé et l'ajouteriez à votre installation PHP. Le site Web php.net fournit des instructions détaillées sur la façon de procéder.
Si vous rencontrez des erreurs pendant le processus d'installation, le premier L'étape consiste à lire soigneusement le message d'erreur. Il contient souvent des indices sur ce qui n'a pas fonctionné. Les problèmes communs incluent les dépendances manquantes, les options de configuration incorrectes et les problèmes avec le code source PHP. Si vous ne pouvez pas résoudre le problème par vous-même, envisagez de demander de l'aide de la communauté PHP. Il existe de nombreux forums et listes de diffusion où vous pouvez demander de l'aide.
La mise à jour d'une extension PHP implique généralement le téléchargement de la dernière version du code source de l'extension et puis répéter le processus d'installation. Cependant, les étapes exactes peuvent varier en fonction de l'extension. C'est une bonne idée de vérifier la documentation officielle de l'extension pour des instructions de mise à jour spécifiques.
Oui, il est possible d'installer plusieurs extensions de PHP à la fois. Cela peut être fait en spécifiant plusieurs extensions dans la commande Configurer. Cependant, gardez à l'esprit que chaque extension peut avoir son propre ensemble de dépendances et d'options de configuration.
La désinstallation d'une extension PHP consiste à supprimer la configuration de l'extension de votre fichier php.ini, puis de redémarrer votre serveur Web. Si l'extension a été installée en tant que module partagé, vous devrez peut-être également supprimer le fichier .so ou .dll du module.
Le référentiel PECL est une collection de collection de Extensions PHP qui sont distribuées sous forme de code source. Ces extensions peuvent être installées à l'aide de la commande PECL, qui automatise le processus de téléchargement, de compilation et d'installation d'extensions.
Oui, il est possible d'installer Extensions PHP sans accès racine. Cela peut être fait en installant PHP dans votre répertoire domestique, puis en y installant les extensions. Cependant, cette approche nécessite des connaissances plus techniques et peut ne pas convenir à tous les utilisateurs.
Il existe de nombreuses extensions de PHP disponibles, chacune fournissant chacune fonctionnalité supplémentaire au langage PHP. Certaines extensions courantes incluent MySQLI pour interagir avec les bases de données MySQL, GD pour la création et la manipulation des fichiers d'image, et boucler pour faire des demandes HTTP.
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!