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

Comment installer une extension en php

醉折花枝作酒筹
Libérer: 2023-03-11 17:44:02
avant
2903 Les gens l'ont consulté

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

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

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

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

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

2. Utilisez yum install pour installer le package d'extension

~# yum install -y php-pecl-memcached
Reading package lists... Done
Reading state information... Done
...
Copier après la connexion

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

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

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

4 Entrez le répertoire ext/pcntl dans le code source

~# cd php-5.3.29/ext/pcntl/
Copier après la connexion

5. la commande phpize

~# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Copier après la connexion
Copier après la connexion

6. Exécutez la commande configure

~# ./configure
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
...
Copier après la connexion

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

8. Exécutez la commande make install

~# make install
Installing shared extensions:     /usr/lib/php5/20090626/
Copier après la connexion

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

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

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

3. . Entrez le répertoire du code source

~# cd libevent-0.1.0/
Copier après la connexion

4. Exécutez la commande phpize

~# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Copier après la connexion
Copier après la connexion

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

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

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!

Étiquettes associées:
php
source:csdn.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal