Maison  >  Article  >  développement back-end  >  Comment installer une extension en php

Comment installer une extension en php

藏色散人
藏色散人original
2021-03-05 09:41:018434parcourir

Comment installer des extensions en PHP : 1. Utilisez la commande apt ou yum pour installer l'extension ; 2. Utilisez la commande pecl install pour installer l'extension ; 3. Compilez et installez à partir du code source ; via phpize.

Comment installer une extension en php

L'environnement d'exploitation de cet article : système Windows 7, version php 5.3.29, ordinateur DELL G3

Plusieurs méthodes de installer des extensions en php

Installer l'extension

Remarque

Différent du mode d'exécution d'Apache+PHP ou Nginx+PHP, WorkerMan est basé sur la ligne de commande PHP PHP CLI Lors de l'exécution, différents programmes exécutables PHP sont utilisés, et le fichier php.ini utilisé peut également être différent. Ainsi, lorsque 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 dans 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 installées par la ligne de commande PHP CLI Le résultat est similaire à ce qui suit :

~# php -m
[PHP Modules]
libevent
posix
pcntl
...
.

Comment déterminer PHP L'emplacement du fichier php.ini de la CLI

Lorsque nous installons l'extension, nous devrons peut-être configurer manuellement le fichier php.ini et ajouter l'extension, nous devons donc confirmer le emplacement du fichier php.ini de la CLI PHP. Vous pouvez exécuter php --ini pour trouver l'emplacement du fichier ini de PHP CLI. Le résultat est similaire à ce qui suit (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
...

Installer les extensions pour PHP CLI ( en installant l'extension memcached à titre d'exemple)

Méthode 1. Utilisez la commande apt ou yum pour installer

Si PHP est installé via la commande apt ou yum, l'extension peut également être installée via apt ou yum

debian/ubuntu et autres systèmes méthode d'installation appropriée de l'extension PHP (les utilisateurs non root doivent ajouter la commande sudo)

Utilisez apt-cache search 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
...

Comment installer l'extension PHP en utilisant yum sur centos et d'autres systèmes

1. Utilisez yum search 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
...

Remarque :

Utiliser apt ou yum pour installer l'extension PHP configurera automatiquement le fichier php.ini Il pourra ê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.

[Apprentissage recommandé : "Tutoriel vidéo PHP"]

Méthode 2. Utilisez pecl pour installer

Utilisez la commande pecl install pour installer le extension

1. pecl installInstallez

~# pecl install memcached
downloading memcached-2.2.0.tgz ...
Starting to download memcached-2.2.0.tgz (70,449 bytes)
....

2. Configurez php.ini

Recherchez l'emplacement du fichier php.ini en exécutant php --ini, puis ajoutez extension=memcached.so

Troisième méthode, 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.

commande pour vérifier la version actuelle de PHP CLIphp -v

~# 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 PHP : http://php.net/releases. /

3. Décompressez le package de compression 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. Exécutez 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.
~# 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

~# make install
Installing shared extensions:     /usr/lib/php5/20090626/

9. Configurez le fichier ini make install

Trouvez l'emplacement du fichier php.ini en exécutant

, puis ajoutez

php --iniextension=pcntl.so au fichier. Remarque :

Cette méthode est généralement utilisée pour installer les extensions fournies avec PHP, telles que l'extension posix et l'extension 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

~# ./configure --enable-pcntl --enable-posix ...
~# make && make install
dans le répertoire racine du code source. Méthode 4. Installation de phpize <.> Si vous souhaitez installer L'extension ne se trouve pas dans le répertoire ext du code source php, alors cette extension doit être recherchée et téléchargée sur http://pecl.php.net

Installez le Extension libevent à titre d'exemple (en supposant que la bibliothèque libevent-dev est installée sur le système)

1. Téléchargez le package compressé du fichier d'extension libevent (vous pouvez le télécharger dans n'importe quel répertoire du système actuel)

~# 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 compressé du fichier étendu

~# 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
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

5. 🎜> commande

~# ./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、运行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、运行make install命令

~# make install
Installing shared extensions:     /usr/lib/php5/20090626/

8、配置ini文件

通过运行 php --ini查找php.ini文件位置,然后在文件中添加extension=libevent.so

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