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
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's <evp.h> ERROR: `/var/tmp/mongodb/configure --with-php-config=/usr/bin/php-config' 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
[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
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
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'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
[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
A ce moment, l'extension MongoDB est chargée dans le fichier de configuration PHP php.ini
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
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!