Heim >Backend-Entwicklung >PHP-Tutorial >Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

藏色散人
藏色散人nach vorne
2020-01-09 17:15:533641Durchsuche

Unter CentOS bietet PHP mehrere Möglichkeiten, Erweiterungen zu installieren, hauptsächlich einschließlich der Yum-Installation im Paketverwaltungsstil, der Pecl-Installation sowie der Kompilierung und Installation des Quellcodes.

Die Installation und Deinstallation im Stil der Paketverwaltung ist besonders praktisch, während die Installation im Stil der Quellcode-Kompilierung die Parameteroptimierung erleichtert.

Im Allgemeinen wird eine paketverwaltete Installation empfohlen, um eine lokale Entwicklungsumgebung aufzubauen und Zeit zu sparen. Für Online-Bereitstellungsumgebungen wird die Kompilierung und Installation empfohlen, um die Optimierung zu erleichtern.

In diesem Artikel wird die Installation der MongoDB-Erweiterung als Beispiel verwendet.

Tools

PHP-Version: 7.0.17

Nginx: 1.10.2

VMware-Version: 12.0.0

CentOS-Version: 7.0

1. Yum-Installation

Yum-Installation kann die erweiterte .so-Dynamikbibliothek automatisch installieren und php.ini konfigurieren

Hinweis:

Bitte stellen Sie sicher, dass Sie die entsprechende Erweiterung in Ihrer Yum-Quelle haben

Nach Abschluss der Installation starten Sie den Nginx- oder Apache-Server neu

Besuchen Sie den Index. PHP-Datei mit Ihrem Browser, PHP-Info-Informationen ausgeben, wenn MongoDB-Informationen vorhanden sind, ist die Installation erfolgreich

[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

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

2. pecl-Installation

Offizielle Dokumentation: https://www.php.net/manual/zh/mongodb.installation.pecl.php

[root@localhost ~]# pecl install mongodb

-bash: pecl: Befehl nicht gefunden

Direkte Eingabe von pecl install mongodb meldet einen Fehler, der darauf hinweist, dass wir pecl nicht installiert haben

[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

, wird bei diesem Schritt ein weiterer Fehler gemeldet. Nachdem die Installation abgeschlossen ist, fahren Sie mit der Ausführung fort der Befehl, der beim letzten Mal nicht erfolgreich ausgeführt wurde

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

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

Nachdem die Installation abgeschlossen ist, laden Sie die MongoDB-Erweiterung in die PHP-Konfigurationsdatei php.ini

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

Starten Sie nach Abschluss der Installation den Nginx- oder Apache-Server neu

Browserzugriffsindex-.php-Datei, geben Sie PHPInfo-Informationen aus. Wenn MongoDB-Informationen vorhanden sind, ist die Installation erfolgreich

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

3. Quellcode-Kompilierung und Installation

Downloadliste für Quellcode-Kompilierungspakete: https://pecl.php.net/packages.php

Mongodb-Paket-Download-Adresse: 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>

In diesem Schritt kommt es uns wieder bekannt vor. Nach Abschluss der Installation müssen wir openssl installieren , führen Sie den Befehl weiter aus, der beim letzten Mal nicht erfolgreich ausgeführt wurde

Drei Installationsmethoden für PHP-Erweiterungen unter 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 # 编译

Hinweis: php-config ist ein einfaches Befehlszeilenskript, mit dem Informationen über die installierte PHP-Konfiguration abgerufen werden .

Wenn beim Kompilieren einer Erweiterung mehrere PHP-Versionen installiert sind, können Sie während der Konfiguration die Option --with-php-config verwenden, um anzugeben, welche Version für die Kompilierung verwendet werden soll Pfad zum Skript.

Die Kompilierung ist erfolgreich, wie unten gezeigt

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

Zu diesem Zeitpunkt wird die MongoDB-Erweiterung in die PHP-Konfigurationsdatei php.ini geladen

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

Starten Sie den Server Nginx oder Apache neu

Der Browser greift auf die Datei index.php zu und gibt die phpinfo-Informationen aus, die Installation ist erfolgreich

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

Drei Installationsmethoden für PHP-Erweiterungen unter CentOS

Zusammenfassung:

Der Unterschied zwischen der Pecl-Installation und der Kompilierung und Installation des Quellcodes besteht darin, dass letztere für die Parameteroptimierung bequemer ist.

Bei der Auswahl von Mongo-Erweiterungen bietet der Beamte zwei Typen an: Mongo und Mongodb

Der erste: https://pecl.php.net/package/mongo

Zweitens : https://pecl.php.net/package/mongodb

Erster offizieller Tipp: Dieses Paket wurde ersetzt, wird aber weiterhin auf Fehler und Sicherheitskorrekturen gewartet, wurde jedoch aufgegeben, weist jedoch Fehler und Sicherheitsprobleme auf wird weiterhin behoben und PHP7 wird nicht unterstützt.

Empfehlungen:

PHP-Version ist 5.x und es wird empfohlen, die Mongo-Erweiterung zu verwenden

PHP-Version ist 7.x und das ist sie auch Es wird empfohlen, die Mongodb-Erweiterung zu verwenden

PHP5.x kann die Mongodb-Erweiterung verwenden. Aber PHP7.x kann die Mongo-Erweiterung nicht verwenden.

Am Ende geschrieben:

Wenn Sie alleine lernen, wird dennoch empfohlen, es mit yum zu installieren, da es dabei zu Fehlern kommen wird, die das Fehlen verschiedener Abhängigkeiten melden Ihren Installationsprozess.

Weitere PHP-Kenntnisse finden Sie im PHP-Tutorial!

Das obige ist der detaillierte Inhalt vonDrei Installationsmethoden für PHP-Erweiterungen unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen