Table des matières
Les plats clés
Démarrage du VM
Préparer l'environnement
ubuntu
fedora
rhel
SUSE
Installation des extensions
Installation d'une extension groupée
Retrait des extensions
Conclusion
Questions fréquemment posées (FAQ) sur l'installation des extensions de PHP à partir de la source
Quelles sont les conditions préalables pour installer des extensions de PHP à partir de la source?
Comment puis-je vérifier si une extension PHP est installée correctement?
Puis-je installer des extensions PHP sur un système Windows?
Que dois-je faire si je rencontre des erreurs pendant le processus d'installation?
Comment puis-je mettre à jour une extension PHP?
Puis-je installer plusieurs extensions de PHP à la fois?
Comment puis-je désinstaller une extension PHP?
Qu'est-ce que le référentiel PECL?
Puis-je installer des extensions PHP sans accès racine?
Quelles sont les extensions de PHP courantes et que font-ils?
Maison développement back-end tutoriel php Comment installer des extensions de PHP à partir de la source

Comment installer des extensions de PHP à partir de la source

Feb 20, 2025 am 09:38 AM

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.

Les plats clés

  • L'installation d'extensions de PHP à partir de la source nécessite des outils de développement PHP et un compilateur installé sur votre machine, ainsi que le code source PHP et le code source de l'extension.
  • Le processus d'installation des extensions de PHP à partir de la source implique plusieurs étapes: télécharger le code source, préparer le dossier de l'extension pour la compilation avec phpize, configurer l'environnement pour la compilation, compilation les sources dans un fichier .so et déplacer ce fichier dans le fichier dans le Dossier d'extensions de l'installation PHP actuelle.
  • Après l'installation, les extensions PHP doivent être activées en les ajoutant au fichier php.ini ou en créant un fichier INI séparé pour chaque extension dans un dossier qui est inclus automatiquement après le chargement PHP.ini.
  • Pour supprimer les extensions, vous pouvez utiliser l'outil PHP5DISMOD, supprimer les liens symboliques manuellement ou supprimer les lignes d'activation des fichiers php.ini.

Démarrage du VM

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:

Comment installer des extensions de PHP à partir de la source

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>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

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:

Comment installer des extensions de PHP à partir de la source

Préparer l'environnement

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:

ubuntu

<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

fedora

<span>sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev</span>
Copier après la connexion
Copier après la connexion

rhel

<span>sudo yum install php-devel php-mysqlnd gcc libtool</span>
Copier après la connexion
Copier après la connexion

SUSE

<span>sudo yum install php-devel php-mysql gcc libtool</span>
Copier après la connexion
Copier après la connexion

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.

Installation 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>
Copier après la connexion
Copier après la connexion

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.

Comment installer des extensions de PHP à partir de la source

Installation d'une extension groupée

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>
Copier après la connexion

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>
Copier après la connexion

Expliquons ce qui se passe.

  • phpize prépare le dossier de l'extension pour la complicité. Il vous permet de faire les commandes suivantes en créant un fichier de configuration, et en faisant essentiellement le dossier de l'extension "pense" qu'il est en php lui-même. La procédure après Phpize est, en fait, identique à ce que vous feriez lors de l'installation de PHP à partir de la source - uniquement dans ce cas, un simple fragment de PHP est compilé et préparé pour une utilisation avec le php.
  • déjà compilé et installé
  • ./ configure --enable-Intl configure l'environnement pour la compilation. Il prépare tout ce que le compilateur devra élaborer le fichier intl.so que nous utiliserons. Le drapeau Activer-INTL est nécessaire même si nous sommes dans le dossier INTL parce que le dossier, efficacement, pense que c'est est php, et nous devons l'aider à vivre cette illusion. Cette commande le dit: "OK, vous êtes le code source de PHP. Maintenant, compilez et installez avec l'extension INTL. », Alors qu'en fait, c'est la seule partie qui peut
  • être installée à partir de ce dossier.
  • Make compilera les sources en intl.o, en plaçant le fichier dans le dossier même dans lequel vous vous trouvez actuellement, sous le sous-dossier des modules.
  • sudo marquer l'installation déplacera ce fichier dans le dossier d'extensions de l'installation PHP actuel.

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.

Installation d'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>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Comment installer des extensions de PHP à partir de la source

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.

Activation et test

Pour voir si les fichiers .so compilés sont en effet dans notre dossier d'extensions PHP, énumérez son contenu:

Comment installer des extensions de PHP à partir de la source

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:
  1. Vous pouvez mettre les lignes Extension = Mongo.so et Extension = intl.so directement dans php.ini. Cela fonctionne et est une approche parfaitement valide dans la plupart des cas.
  2. Vous pouvez créer un fichier INI séparé pour chacun de ceux-ci, les mettre dans un dossier qui est inclus automatiquement après le chargé de php.ini et de maintenir la séparation et l'isolement de php.ini de cette façon. Cette approche est plus saine, bien que plus difficile à accomplir.
  3. Vous pouvez combiner 2) et les outils par défaut pour activer les mods PHP. Homestead utilise cette approche, tout comme nous.
<span>cd Code
</span><span>git clone https://github.com/Swader/publicinfo</span>
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

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>
Copier après la connexion
Copier après la connexion

Pour voir si nous les avons installés, actualisez respectivement l'écran phpinfo et recherchez respectivement Mongo et Intl.

Comment installer des extensions de PHP à partir de la source

Succès!

Retrait des extensions

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:

  1. Exécutez PHP5Dismod si vous avez l'outil disponible. C'est l'opposé de l'outil PHP5enMod mentionné ci-dessus. Les fichiers .so resteront en place et les fichiers INI resteront en mods disponibles, ils ne se chargeront tout simplement pas car leurs liens symboliques seront supprimés du FPM et des dossiers CLI Conf.d.
  2. Retirez manuellement les liens symboliques. Par exemple sudo rm /etc/php5/cli/conf.d/mongo.ini
  3. Si vous avez activé les extensions en les mettant directement dans les fichiers php.ini, supprimez ces lignes des fichiers php.ini, ou mieux encore, commentez-les afin qu'ils restent accessibles pour une utilisation ultérieure si vous changez d'avis.

Conclusion

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.

Questions fréquemment posées (FAQ) sur l'installation des extensions de PHP à partir de la source

Quelles sont les conditions préalables pour installer des extensions de PHP à partir de la source?

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.

Comment puis-je vérifier si une extension PHP est installée correctement?

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

Puis-je installer des extensions PHP sur un système Windows?

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.

Que dois-je faire si je rencontre des erreurs pendant le processus d'installation?

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.

Comment puis-je mettre à jour une extension PHP?

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.

Puis-je installer plusieurs extensions de PHP à la fois?

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.

Comment puis-je désinstaller une extension PHP?

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.

Qu'est-ce que le référentiel PECL?

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.

Puis-je installer des extensions PHP sans accès racine?

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.

Quelles sont les extensions de PHP courantes et que font-ils?

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!

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Comment fonctionne le détournement de session et comment pouvez-vous l'atténuer en PHP? Comment fonctionne le détournement de session et comment pouvez-vous l'atténuer en PHP? Apr 06, 2025 am 12:02 AM

Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Apr 03, 2025 am 12:04 AM

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Que sont les énumérations (enums) dans PHP 8.1? Que sont les énumérations (enums) dans PHP 8.1? Apr 03, 2025 am 12:05 AM

La fonction d'énumération dans PHP8.1 améliore la clarté et la sécurité du type du code en définissant les constantes nommées. 1) Les énumérations peuvent être des entiers, des chaînes ou des objets, améliorant la lisibilité du code et la sécurité des types. 2) L'énumération est basée sur la classe et prend en charge des fonctionnalités orientées objet telles que la traversée et la réflexion. 3) L'énumération peut être utilisée pour la comparaison et l'attribution pour assurer la sécurité du type. 4) L'énumération prend en charge l'ajout de méthodes pour implémenter une logique complexe. 5) La vérification stricte et la gestion des erreurs peuvent éviter les erreurs courantes. 6) L'énumération réduit la valeur magique et améliore la maintenabilité, mais prêtez attention à l'optimisation des performances.

Comment déboguer le mode CLI dans phpstorm? Comment déboguer le mode CLI dans phpstorm? Apr 01, 2025 pm 02:57 PM

Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

See all articles