Wie aktualisiere ich den Nginx-Server von PHP5.5.7 auf PHP7?
In diesem Artikel erfahren Sie, wie Sie den Nginx-Server von PHP5.5.7 auf PHP7 aktualisieren. Verfahren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
①, Server Nginx, PHP, MySQL sind alle installiert, daher möchte ich PHP7 direkt aktualisieren.
②Folgen Sie dem Artikel: https://typecodes.com/web/centos7compilephp7.html?utm_source=tuicool&utm_medium=referral Während der Operation erscheint in der Mitte etwas anderes.
③Referenz zur Problemlösung: http://blog.chinaunix.net/uid-25266990-id-2915395.html
Trennlinie-------------------- - ------------------------------------------------- - ------------------------------------------------- - ------------------------------------------------- - ---
Ich werde Schritt 2 unten für meinen eigenen Gebrauch erneut veröffentlichen.
1 Erstellen Sie einen PHP-Benutzer und eine Benutzergruppe und laden Sie den PHP7-Quellcode von Github herunter.
Erstellen Sie zunächst einen Benutzer namens PHP ohne Anmeldeberechtigungen und eine Benutzergruppe namens PHP und gehen Sie dann zu GitHub, um das PHP7-Quellcodepaket herunterzuladen.
#######新建php用户和php组 [root@typecodes ~]# groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php7 -M php ######从GitHub下载php7安装包 [root@typecodes ~]# wget -c --no-check-certificate -O php7-src-master.zip https://github.com/php/php-src/archive/master.zip ######开始解压php7包 [root@typecodes ~]# unzip -q php7-src-master.zip && cd php-src-master #####安装编译php7时需要的依赖包 [root@typecodes php-src-master]# yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
2 Konfiguration der PHP7-Kompilierungsparameter (ps: Ich werde die Schrägstriche unten posten, Sie können sie direkt kopieren)
Nachdem die Vorbereitungen abgeschlossen sind, beginnen Sie mit der formellen Konfiguration der Installationsdetails von PHP7. Beachten Sie, dass Sie zuerst den Kommentartext entfernen müssen, der unten nach dem Backslash „“ hinzugefügt wurde! ! !
######开始生成配置文件 [root@typecodes php-src-master]# ./buildconf buildconf: checking installation... buildconf: autoconf version 2.69 (ok) rebuilding aclocal.m4 rebuilding configure rebuilding main/php_config.h.in ######开始配置 [root@typecodes php-src-master]# ./configure \ --prefix=/usr/local/php7 \ [PHP7安装的根目录] --exec-prefix=/usr/local/php7 \ --bindir=/usr/local/php7/bin \ --sbindir=/usr/local/php7/sbin \ --includedir=/usr/local/php7/include \ --libdir=/usr/local/php7/lib/php \ --mandir=/usr/local/php7/php/man \ --with-config-file-path=/usr/local/php7/etc \ [PHP7的配置目录] --with-mysql-sock=/var/run/mysql/mysql.sock \ [PHP7的Unix socket通信文件] --with-mcrypt=/usr/include \ --with-mhash \ --with-openssl \ --with-mysql=shared,mysqlnd \ [PHP7依赖mysql库] --with-mysqli=shared,mysqlnd \ [PHP7依赖mysql库] --with-pdo-mysql=shared,mysqlnd \ [PHP7依赖mysql库] --with-gd \ --with-iconv \ --with-zlib \ --enable-zip \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-xml \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --enable-gd-native-ttf \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ [允许php会话session] --with-curl \ [允许curl扩展] --with-jpeg-dir \ --with-freetype-dir \ --enable-opcache \ [使用opcache缓存] --enable-fpm \ --enable-fastcgi \ --with-fpm-user=nginx \ [php-fpm的用户] --with-fpm-group=nginx \ [php-fpm的用户组] --without-gdbm \ --disable-fileinfo
3 Beginnen Sie mit dem Kompilieren und Installieren von PHP7
Im Vergleich zum Kompilieren und Installieren von MySQL, das viel CPU und Speicher verbraucht, ist das Kompilieren und Installieren von PHP7 viel einfacher. Der gesamte Vorgang dauert etwa 1 Stunde.
./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --disable-fileinfo
Das Bild unten zu sehen bedeutet, dass PHP7 kompiliert und installiert wurde! (ps: Beim Kompilieren ist ein Fehler aufgetreten. Undefinierter Verweis auf „libiconv_open“ kann PHP nicht kompilieren;
Siehe den Link oben für Details zur Lösung: Bearbeiten Sie das Makefile etwa in Zeile 77:
EXTRA_LIBS = ..... -lcrypt
Fügen Sie abschließend -liconv hinzu, zum Beispiel:
EXTRA_LIBS = ..... -lcrypt -liconv
und führen Sie dann make aus )
4 Optionale Schritte: Führen Sie den Befehl make test aus, um zu testen
Dies ist ein Non -stop Notwendige Schritte: Führen Sie den Befehl make test aus. Interessant ist: Während des Tests wird eine TCP-Verbindung mit einer IP-Adresse 72.52.91.14 aufgebaut, die der offiziellen PHP-Website http://www.php.net entspricht.
5 Überprüfen Sie das PHP7-Installationsverzeichnis nach erfolgreicher Kompilierung
Da Sie mit MySQL kommunizieren müssen, müssen Sie nach der PHP7-Installation speziell das Verzeichnis der lib-Erweiterungsbibliothek überprüfen (/usr/local/php7/lib/php/extensions/no- debug- non-zts-20141001/). Sie müssen sicherstellen, dass mindestens zwei dynamische Bibliotheksdateien mysqli.so und pdo_mysql.so vorhanden sind, wie in der folgenden Abbildung dargestellt.
6 Beginnen Sie mit der Einrichtung der PHP7-Konfigurationsdateien php.ini, php-fpm.conf, www.conf und php-fpm-Skript
Sie können die kompilierte Konfigurationsdatei in das PHP7-Konfigurationsverzeichnis kopieren (/usr/local/php7/ etc/) wird empfohlen, die drei PHP7-Konfigurationsdateien und das php-fpm-Dienststeuerungsskript zu verwenden, die im Artikel „Konfiguration von php.ini, php-fpm und www.conf in PHP7“ zusammengestellt wurden.
[root@typecodes php-src-master]# make clean && make && make install
7 Umgebungsvariable von PHP hinzufügen
Fügen Sie das durch die PHP-Kompilierung generierte bin-Verzeichnis zur Umgebungsvariablen des aktuellen Linux-Systems hinzu
#######方法一:直接使用编译后未经优化处理的配置 [root@typecodes php-src-master]# cp php.ini-production /usr/local/php7/etc/php.ini [root@typecodes php-src-master]# cp /root/php-src-master/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [root@typecodes php-src-master]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf [root@typecodes php-src-master]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf #######方法二:使用https://typecodes.com/web/php7configure.html文中的配置 [root@typecodes php-src-master]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm [root@typecodes php-src-master]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm.conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf
8 Legen Sie das PHP-Protokollverzeichnis und die PHP-FPM-Prozessdatei (php-fpm. sock)-Verzeichnis
Setzen Sie unter anderem den Benutzer und die Benutzergruppe des PHP-FPM-Prozessverzeichnisses auf Nginx und erstellen Sie ein PHP-Sitzungsverzeichnis.
[root@typecodes ~]# echo -e '\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n' >> /etc/profile && source /etc/profile
9 Richten Sie den PHP-Start ein und testen Sie, ob die Konfigurationsdatei korrekt ist.
#######设置PHP日志目录和php-fpm的运行进程ID文件(php-fpm.sock)目录 [root@typecodes ~]# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm #######修改session的目录配置 [root@typecodes etc]# mkdir -p /var/lib/php/session [root@typecodes etc]# chown -R nginx:nginx /var/lib/php
10 Starten Sie den PHP-Dienst.
Nach Abschluss der oben genannten Vorgänge können Sie den PHP-Dienst offiziell verwenden. Der Befehl zum Starten des PHP-Prozessdienstes lautet wie folgt:
######配置开机自启动,增加到主机sysV服务 [root@typecodes php-src-master]# chmod +x /etc/init.d/php-fpm [root@typecodes php-src-master]# chkconfig --add php-fpm [root@typecodes php-src-master]# chkconfig php-fpm on ######测试PHP的配置文件是否正确合法 [root@typecodes sbin]# php-fpm -t [03-May-2015 17:50:04] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful
Dann können Sie mit dem Befehl ps -aux|grep php überprüfen, ob er erfolgreich ist (die Anzahl der PHP-FPM-Prozesse und der Prozessbenutzer nginx im Bild sind beide). Die Werte für pm.start_servers und user in www.conf werden jeweils ermittelt):
11 PHP7-Versionsinformationen anzeigen
Schließlich können Sie die aktuellen PHP-Versionsinformationen über den Befehl php -v anzeigen. Das können Sie im Bild sehen Das aktuelle PHP7 verwendet auch den Zend OPcache-Cache, da in der Datei php.ini die Konfiguration zend_extension=opcache.so hinzugefügt wurde.
configure: Fehler: xslt-config nicht gefunden. Bitte installieren Sie die libxslt >= 1.1.0-Distribution neu.
Der folgende Fehler tritt beim Kompilieren und Installieren von
./configure in PHP auf:
configure: Fehler: xslt-config nicht gefunden. Bitte installieren Sie die libxslt >= 1.1.0-Distribution neu
Das obige ist der detaillierte Inhalt vonWie aktualisiere ich den Nginx-Server von PHP5.5.7 auf PHP7?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So beheben Sie das Problem, dass das Plugin in PHP 7.0 nicht installiert ist: Überprüfen Sie die Plugin-Konfiguration und aktivieren Sie das Plugin. Starten Sie PHP neu, um die Konfigurationsänderungen zu übernehmen. Überprüfen Sie die Berechtigungen der Plugin-Datei, um sicherzustellen, dass sie korrekt sind. Installieren Sie fehlende Abhängigkeiten, um sicherzustellen, dass das Plugin ordnungsgemäß funktioniert. Wenn alle anderen Schritte fehlschlagen, erstellen Sie PHP neu. Weitere mögliche Ursachen sind inkompatible Plugin-Versionen, das Laden der falschen Version oder PHP-Konfigurationsprobleme.

In PHP5 können wir die Funktion fsockopen() verwenden, um den TCP-Port zu erkennen. Mit dieser Funktion können Sie eine Netzwerkverbindung herstellen und eine Netzwerkkommunikation durchführen. In PHP7 kann die Funktion fsockopen() jedoch auf einige Probleme stoßen, z. B. dass der Port nicht geöffnet werden kann, keine Verbindung zum Server hergestellt werden kann usw. Um dieses Problem zu lösen, können wir die Funktionen socket_create() und socket_connect() verwenden, um den TCP-Port zu erkennen.

So installieren Sie die Mongo-Erweiterung in PHP7.0: 1. Erstellen Sie die Mongodb-Benutzergruppe und den Mongodb-Benutzer. 2. Laden Sie das Mongodb-Quellcodepaket herunter und platzieren Sie das Quellcodepaket im Verzeichnis „/usr/local/src/“. Geben Sie das Verzeichnis „src/“ ein. 4. Entpacken Sie das Quellcodepaket. 6. Kopieren Sie die Dateien in das Verzeichnis „mongodb/“.

Zu den gängigen Lösungen für PHP-Serverumgebungen gehört die Sicherstellung, dass die richtige PHP-Version installiert ist und relevante Dateien in das Modulverzeichnis kopiert wurden. Deaktivieren Sie SELinux vorübergehend oder dauerhaft. Überprüfen und konfigurieren Sie PHP.ini, um sicherzustellen, dass die erforderlichen Erweiterungen hinzugefügt und korrekt eingerichtet wurden. Starten oder starten Sie den PHP-FPM-Dienst neu. Überprüfen Sie die DNS-Einstellungen auf Auflösungsprobleme.

So installieren und implementieren Sie PHP7.0: 1. Gehen Sie zur offiziellen PHP-Website, um die dem lokalen System entsprechende Installationsversion herunterzuladen. 2. Extrahieren Sie die heruntergeladene ZIP-Datei in das angegebene Verzeichnis. 3. Öffnen Sie das Befehlszeilenfenster und gehen Sie zu das Verzeichnis „E:\php7“ Führen Sie einfach den Befehl „php -v“ aus.

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Im Vergleich zu PHP7 bietet PHP8 einige Vorteile und Verbesserungen in Bezug auf Leistung, neue Funktionen und Syntaxverbesserungen, Typsystem, Fehlerbehandlung und Erweiterungen. Die Wahl der zu verwendenden Version hängt jedoch von Ihren spezifischen Anforderungen und Projektumständen ab. Detaillierte Einführung: 1. Leistungsverbesserung: PHP8 führt den Just-in-Time-Compiler (JIT) ein, der die Ausführungsgeschwindigkeit des Codes verbessern kann. 2. Neue Funktionen und Syntaxverbesserungen. PHP8 unterstützt die Deklaration benannter Parameter und optionaler Parameter. Durch die flexiblere Gestaltung von Funktionen werden anonyme Klassen, Typdeklarationen von Eigenschaften usw. eingeführt.

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...
