Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Möglichkeiten zur Installation von PHP-Erweiterungen in CentOS-Systemen

Zusammenfassung der Möglichkeiten zur Installation von PHP-Erweiterungen in CentOS-Systemen

不言
不言Original
2018-06-04 17:27:452212Durchsuche

Dieser Artikel gibt Ihnen eine Zusammenfassung der Möglichkeiten zur Installation und Erweiterung von PHP in CentOS-Systemen, hauptsächlich einschließlich der Yum-Installation im Paketverwaltungsstil, der Pecl-Installation sowie der Kompilierung und Installation des Quellcodes. Die Zusammenfassung ist sehr umfassend und ich kann sie jedem empfehlen. Unter

CentOS bietet PHP viele Möglichkeiten, Erweiterungen zu installieren, hauptsächlich 包管理式, yum 安装, pecl 安装 und 源码编译安装. Besonders komfortabel ist die Installation und Deinstallation von

包管理式, während die Installation von 源码编译式 die Parameterabstimmung erleichtert.

Im Allgemeinen wird die Installation von 包管理式 empfohlen, um beim Aufbau einer lokalen Entwicklungsumgebung Zeit zu sparen. Für die Umgebung 线上部署 wird zur einfachen Abstimmung 编译安装 empfohlen.

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 方式 Installieren Sie die dynamische Bibliothek .so, die Erweiterungen automatisch installieren kann, und konfigurieren Sie siephp.ini

Hinweis:

Bitte stellen Sie sicher, dass Sie yum 源die entsprechende Erweiterung enthalten

Nach Abschluss der Installation starten Sie den Server neuNginx oder Apache

durchsuchen Der Server greift auf die index.php-Datei zu und gibt phpinfo Informationen aus. 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

2. pecl-Installation

Offizielle Dokumentation: http://php.net/manual/ zh/mong...

[root@localhost ~]# pecl install mongodb
-bash: pecl: 未找到命令

Wenn Sie pecl install mongodb direkt eingeben, wird ein Fehler gemeldet, der darauf hinweist, dass pecl wir es nicht installiert haben. Installieren Sie 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

In diesem Schritt werden wir erneut auf 报错 stoßen. Nachdem die Installation abgeschlossen ist, müssen Sie fortfahren um den letzten openssl Befehl auszuführen 未执行成功

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

Laden Sie nach Abschluss der Installation die

Erweiterung PHPphp.iniMongoDB

Nach Abschluss der Installation den Server neu starten Oder

Nginx Der Browser greift auf die Apache-Datei zu und gibt die

-Informationen aus . Wenn

Informationen vorhanden sind, ist die Installation erfolgreich index.phpphpinfoMongoDB

Quellcode-Kompilierung und Installation

Quellcode-Kompilierung Paket-Download-Liste: 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

müssen wir installieren

Nachdem die Installation abgeschlossen ist, fahren Sie mit der vorherigen Ausführung fort

Befehl 又是熟悉的味道又是熟悉的感觉openssl未执行成功

[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 # 编译

Beschreibung:

ist ein einfaches Befehlszeilenskript für alle

Installierten

Informationen. php-config获取Wenn beim Kompilieren einer Erweiterung mehrere PHP-Versionen installiert sind, können Sie während der Konfiguration die Option PHP 配置 verwenden, um anzugeben, welche Version für die Kompilierung verwendet werden soll. Diese Option gibt den Pfad zum entsprechenden

-Skript an.

--with-php-configphp-config Wie unten gezeigt

编译成功

Zu diesem Zeitpunkt wird die -Erweiterung

PHP geladen Konfigurationsdatei php.ini 🎜>MongoDB

Server neu starten

oder

Browser auf die Datei Nginx zugreifen und die Informationen Apache ausgeben Information, die Installation ist erfolgreich

index.php

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

Zusammenfassung:

und Der Unterschied ist: after Es ist bequemer für die Parameteroptimierung.

Bei Auswahl von

stellt der Beamte zwei Typen zur Verfügung: pecl 安装 und 源码编译安装

Der erste: https://pecl.php.net/package/mongo Mongo 扩展mongoZweiter Typ: https://pecl.php.net/package/mongodbmongodb

Der erste offizielle Tipp: This package has been superseded, but is still maintained for bugs and security fixes wurde aufgegeben, aber Probleme mit bug und security werden 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 es wird empfohlen, die zu verwenden mongodb-Erweiterung

PHP5.x kann die mongodb-Erweiterung verwenden. Aber PHP7.x kann die Erweiterung mongo nicht verwenden.

Schreiben Sie am Ende:

Wenn Sie alleine lernen, wird es dennoch empfohlen yum 安装, da 缺少各种依赖 von 报错

Das obige ist der detaillierte Inhalt vonZusammenfassung der Möglichkeiten zur Installation von PHP-Erweiterungen in CentOS-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn