Maison >développement back-end >Problème PHP >Comment installer une extension en php

Comment installer une extension en php

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-07-20 16:12:222909parcourir

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.

Comment installer une extension en php

Installez l'extension

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

Installer les extensions pour PHP CLI (installation de memcached). extension à titre d'exemple)

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 php

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Quelles sont les erreurs php ?Article suivant:Quelles sont les erreurs php ?