Maison >développement back-end >Problème PHP >Comment installer une extension en php
WorkerMan fonctionne sur la base de la ligne de commande PHP PHP CLI et utilise différents programmes exécutables PHP. Aujourd'hui, nous allons parler de la façon d'installer l'extension. Vous pouvez vous y référer si vous en avez besoin.
Remarque
Différent du mode d'exécution d'Apache+PHP ou de Nginx+PHP, WorkerMan s'exécute sur la base de la ligne de commande PHP PHP CLI et utilise un programme exécutable PHP différent, le php. ini peut également être différent. Par conséquent, si vous imprimez phpinfo() sur la page Web et constatez qu'une extension est installée, cela ne signifie pas que l'extension correspondante est également installée sur la CLI PHP sur la ligne de commande.
Comment déterminer quelles extensions sont installées par PHP CLI
L'exécution de php -m listera les extensions que PHP CLI a installées sur la ligne de commande. Les résultats sont similaires aux suivants :
~# php -m [PHP Modules] libevent posix pcntl ...
Comment déterminer les extensions installées par PHP CLI. emplacement du fichier php.ini de PHP CLI
Lorsque nous installons l'extension, nous devrons peut-être configurer manuellement le fichier php.ini et ajouter l'extension, nous devons donc confirmer l'emplacement du fichier php.ini du CLI PHP. Vous pouvez exécuter php --ini pour trouver l'emplacement du fichier ini de PHP CLI. Les résultats sont similaires aux suivants (les résultats affichés par chaque système seront différents) :
~# php --ini Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/apc.ini, /etc/php5/cli/conf.d/libevent.ini, /etc/php5/cli/conf.d/memcached.ini, /etc/php5/cli/conf.d/mysql.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_mysql.ini ...
Méthode 1. Utilisez l'installation de la commande apt ou yum
Si PHP est installé via la commande apt ou yum, l'extension peut également être installée via apt ou yum
installation debian/ubuntu et d'autres systèmes apt Méthode d'extension PHP (les utilisateurs non root doivent ajouter la commande sudo)
1. Utilisez la recherche apt-cache pour trouver le package d'extension
~# apt-cache search memcached php php-apc - APC (Alternative PHP Cache) module for PHP 5 php5-memcached - memcached module for php5
2 Utilisez apt-get install pour installer le package d'extension
~# apt-get install -y php5-memcached Reading package lists... Done Reading state information... Done ...
Centos et d'autres systèmes. Méthode d'extension PHP d'installation yum
1. Utilisez la recherche yum pour trouver le package d'extension
~# yum search memcached php php-pecl-memcached - memcached module for php5
2. Utilisez yum install pour installer le package d'extension
~# yum install -y php-pecl-memcached Reading package lists... Done Reading state information... Done ...
Instructions :
Utiliser apt ou yum pour installer l'extension PHP configurera automatiquement le php. Fichier .ini. Il peut être utilisé directement après l’installation, ce qui est très pratique. L'inconvénient est que certaines extensions n'ont pas de packages d'installation d'extension correspondants dans apt ou yum.
Méthode 2. Utilisez pecl pour installer
Utilisez la commande pecl install pour installer l'extension
1 pecl install pour installer
~# pecl install memcached downloading memcached-2.2.0.tgz ... Starting to download memcached-2.2.0.tgz (70,449 bytes) ....
2 Configurez php.ini
Trouvez l'emplacement du fichier php.ini. en exécutant php --ini, puis ajoutez extension=memcached.so dans le fichier
Méthode 3. Compilation et installation du code source (installez généralement l'extension fournie avec PHP, prenez l'installation de l'extension pcntl comme exemple)
1. Utilisez la commande php -v pour afficher la version actuelle de PHP CLI
~# php -v PHP 5.3.29-1~dotdeb.0 with Suhosin-Patch (cli) (built: Aug 14 2014 19:55:20) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
2 Téléchargez le code source PHP en fonction de la version
Page de téléchargement de la version historique de PHP : http://php.net/releases/
.3. Décompressez le package compressé du code source
Par exemple, le nom du package compressé téléchargé est php- 5.3.29.tar.gz
~# tar -zxvf php-5.3.29.tar.gz php-5.3.29/ php-5.3.29/README.WIN32-BUILD-SYSTEM php-5.3.29/netware/ ...
4 Entrez le répertoire ext/pcntl dans le code source
~# cd php-5.3.29/ext/pcntl/
5. la commande phpize
~# phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
6. Exécutez la commande configure
~# ./configure checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E ...
7. Exécutez la commande make
~# make /bin/bash /tmp/php-5.3.29/ext/pcntl/libtool --mode=compile cc ... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend... ...
8. Exécutez la commande make install
~# make install Installing shared extensions: /usr/lib/php5/20090626/
9. Configurez le fichier ini
Trouvez l'emplacement du fichier php.ini. en exécutant php --ini, puis ajoutez extension=pcntl.so au fichier
Remarque : Cette méthode est généralement utilisée pour installer des extensions PHP, telles que les extensions posix et pcntl. En plus d'utiliser phpize pour compiler une extension, vous pouvez également recompiler l'intégralité de PHP et ajouter l'extension avec des paramètres lors de la compilation. Par exemple, exécutez dans le répertoire racine du code source
~# ./configure --enable-pcntl --enable-posix ... ~# make && make install
Méthode 4. Installation de phpize
Si le. l'extension à installer se trouve dans le code source php ext. Si elle ne se trouve pas dans le répertoire, alors cette extension doit être recherchée et téléchargée sur http://pecl.php.net
Prenons l'installation de l'extension libevent comme exemple (en supposant que que le système a la bibliothèque libevent-dev installée)
1. Téléchargez le package compressé du fichier d'extension libevent (dans Téléchargez le répertoire dans le système actuel comme vous le souhaitez)
~# wget http://pecl.php.net/get/libevent-0.1.0.tgz --2015-05-26 21:43:40-- http://pecl.php.net/get/libevent-0.1.0.tgz Resolving pecl.php.net... 104.236.228.160 Connecting to pecl.php.net|104.236.228.160|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9806 (9.6K) [application/octet-stream] Saving to: “libevent-0.1.0.tgz” 100%[=======================================================>] 9,806 41.4K/s in 0.2s
2. Décompressez le package de compression du fichier d'extension
~# tar -zxvf libevent-0.1.0.tgz package.xml libevent-0.1.0/config.m4 libevent-0.1.0/CREDITS libevent-0.1.0/libevent.c ....
3. . Entrez le répertoire du code source
~# cd libevent-0.1.0/
4. Exécutez la commande phpize
~# phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
5. Exécutez la commande configure
~# ./configure checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking for cc... cc checking whether the C compiler works... yes ...
6. Exécutez la commande make
~# /bin/bash /data/test/libevent-0.1.0/libtool --mode=compile cc -I. -I/data/test/libevent-0.1.0 -DPHP_ATOM_INC -I/data/test/libevent-0.1.0/include ...
7. ini
Trouvez l'emplacement du fichier php.ini en exécutant php --ini, puis ajoutez extension=libevent.so au fichier
Apprentissage recommandé :
Tutoriel vidéo phpCe 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!