Maison  >  Article  >  développement back-end  >  Trois méthodes d'installation d'extension PHP sous CentOS

Trois méthodes d'installation d'extension PHP sous CentOS

藏色散人
藏色散人avant
2020-01-09 17:15:533529parcourir

Sous CentOS, PHP dispose de plusieurs façons d'installer des extensions, notamment l'installation yum de style gestion des packages, l'installation pecl, ainsi que la compilation et l'installation du code source.

L'installation et la désinstallation de type gestion des packages sont particulièrement pratiques, tandis que l'installation de type compilation de code source facilite le réglage des paramètres.

Généralement, lors de la création d'un environnement de développement local, une installation gérée par package est recommandée pour gagner du temps. Pour les environnements de déploiement en ligne, la compilation et l'installation sont recommandées pour faciliter le réglage.

Cet article utilise l'installation de l'extension MongoDB comme exemple.

Outils

Version PHP : 7.0.17

Nginx : 1.10.2

Version VMware : 12.0.0

Version CentOS : 7.0

1. Installation de Yum

L'installation de Yum peut installer automatiquement la bibliothèque dynamique étendue .so et configurer php.ini

Remarque :

Veuillez vous assurer d'avoir l'extension correspondante dans votre source yum

Une fois l'installation terminée, redémarrez le serveur Nginx ou Apache

Visitez l'index. php avec votre navigateur, affichez les informations phpinfo, s'il y a des informations MongoDB, l'installation est réussie

[root@localhost ~]# yum search mongodb|grep php        # 搜索 yum 源里面 MongoDB 拓展
[root@localhost ~]# yum -y install php70w-pecl-mongo   # 安装 PHP 对应版本的 MongoDB 扩展
[root@localhost ~]# systemctl restart nginx            # 重新启动 Nginx

Trois méthodes dinstallation dextension PHP sous CentOS

2. installation pecl

Documentation officielle : https://www.php.net/manual/zh/mongodb.installation.pecl.php

[root@localhost ~]# pecl install mongodb

-bash : pecl : Commande introuvable

Saisir directement pecl install mongodb signalera une erreur, indiquant pecl Nous ne l'avons pas installé. Lors de l'installation de pecl

[root@localhost ~]# yum -y install php70w-pear
[root@localhost ~]# pecl install mongodb
configure: error: Cannot find OpenSSL&#39;s <evp.h>
ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config&#39; failed

, une autre erreur sera signalée à cette étape. Nous devons installer openssl. Une fois l'installation terminée, continuez à exécuter. la commande qui n'a pas été exécutée avec succès la dernière fois

Trois méthodes dinstallation dextension PHP sous CentOS

[root@localhost ~]# yum -y install openssl openssl-devel
[root@localhost ~]# pecl install mongodb
[root@localhost ~]# systemctl restart nginx             # 重新启动 Nginx

Une fois l'installation terminée, chargez l'extension MongoDB dans le fichier de configuration PHP php.ini

Trois méthodes dinstallation dextension PHP sous CentOS

Une fois l'installation terminée, redémarrez le serveur Nginx ou Apache

Fichier .php d'index d'accès au navigateur, affichez les informations phpinfo, s'il y a des informations MongoDB, l'installation est réussie

Trois méthodes dinstallation dextension PHP sous CentOS

3. Compilation et installation du code source

Liste de téléchargement des packages de compilation de code source : https://pecl.php.net/packages.php

Adresse de téléchargement du package Mongodb : https://pecl.php.net/package/mongodb

[root@localhost ~]# wget http://pecl.php.net/get/mongodb-1.2.8.tgz  #下载源码包
[root@localhost ~]# tar zxf mongodb-1.2.8.tgz  #解压
[root@localhost ~]# cd mongodb-1.2.8
# 可能是 /usr/local/php/bin/phpize 找到自己的 phpize 文件,php-config 同理
[root@localhost mongodb-1.2.8]# /usr/bin/phpize    
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012
[root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config
configure: error: Cannot find OpenSSL&#39;s <evp.h>

À cette étape, cela semble à nouveau familier. Nous devons installer openssl une fois l'installation terminée. , continuez à exécuter la commande qui n'a pas été exécutée avec succès la dernière fois

Trois méthodes dinstallation dextension PHP sous CentOS

[root@localhost mongodb-1.2.8]# yum -y install openssl openssl-devel
[root@localhost mongodb-1.2.8]# ./configure --with-php-config=/usr/bin/php-config
# 确保自己安装了 gcc gcc++ 如果没有安装 yum -y install gcc gcc++
[root@localhost mongodb-1.2.8]# make && make install # 编译

Remarque : php-config est une simple ligne de commande. Un script est utilisé pour obtenir des informations sur la configuration PHP installée. .

Lors de la compilation d'une extension, si plusieurs versions de PHP sont installées, vous pouvez utiliser l'option --with-php-config lors de la configuration pour spécifier quelle version utiliser pour la compilation. Cette option spécifie le php-config correspondant. chemin d'accès au script.

La compilation est réussie comme indiqué ci-dessous

Trois méthodes dinstallation dextension PHP sous CentOS

A ce moment, l'extension MongoDB est chargée dans le fichier de configuration PHP php.ini

Trois méthodes dinstallation dextension PHP sous CentOS

Redémarrez le serveur Nginx ou Apache

Le navigateur accède au fichier index.php et affiche les informations phpinfo S'il y a des informations MongoDB, l'installation est réussie

[root@localhost mongodb-1.2.8]# systemctl restart nginx # 重新启动 Nginx
.

Trois méthodes dinstallation dextension PHP sous CentOS

Résumé :

La différence entre l'installation de pecl et la compilation et l'installation du code source est que cette dernière est plus pratique pour le réglage des paramètres.

Lors du choix des extensions Mongo, le responsable propose deux types : mongo et mongodb

Le premier : https://pecl.php.net/package/mongo

Deuxième : https://pecl.php.net/package/mongodb

Premier conseil officiel : ce package a été remplacé, mais est toujours maintenu pour les bugs et les correctifs de sécurité, a été abandonné, cependant, les bugs et les problèmes de sécurité continuera à être corrigé et PHP7 n'est pas pris en charge.

Recommandations :

La version PHP est 5.x et il est recommandé d'utiliser l'extension mongo

La version PHP est 7.x et elle est recommandé d'utiliser l'extension mongodb

PHP5.x peut utiliser l'extension mongodb. Mais PHP7.x ne peut pas utiliser l'extension mongo.

Écrit à la fin :

Si vous apprenez par vous-même, il est recommandé de l'installer avec yum, car lors de votre processus d'installation, il y aura des erreurs signalant des disparus diverses dépendances.

Pour plus de connaissances sur PHP, veuillez visiter le Tutoriel 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