Heim > Backend-Entwicklung > PHP8 > Hauptteil

Kompilierung und Installation des PHP 8.0-Quellcodes und JIT-Early Adopter

Guanhui
Freigeben: 2023-02-17 11:28:01
nach vorne
6004 Leute haben es durchsucht

Fantastischer Leitfaden

PHP 8.0 Alpha 1 wurde am 25. Juni 2020 veröffentlicht. Heute werde ich mit Ihnen die einfachste Kompilierung des PHP 8-Quellcodes teilen und Installationsmethode, um das neue Feature JIT von PHP 8.0 schnell auszuprobieren.

  • Betriebssystem: CentOS Linux Version 7.4.1708 (Core)

  • GCC: 4.8.5 20150623 (Red Hat 4.8.5-28 )

  • PHP-Version: php-8.0.0alpha1

1. Download-Seite

https://downloads.php.net/~pollita/
Nach dem Login kopieren

2. PHP 8.0 herunterladen

wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
Nach dem Login kopieren

3. Entpacken

tar -zxvf php-8.0.0alpha1.tar.gz
Nach dem Login kopieren

Da auf diesem Computer mehrere PHP-Versionen gleichzeitig vorhanden sind, ist es notwendig, ein aussagekräftiges Verzeichnis zu erstellen, einen Verzeichnisnamen, der bekannt ist, ohne über die PHP-Version nachzudenken.

 mkdir -p /usr/local/php80
Nach dem Login kopieren

5. Konfigurationsoptionen

Dies ist eine optimierte Version der Konfigurationsoptionen, eine ausführlichere Beschreibung der PHP-Konfigurationsoptionen: https://www.php.net/ Handbuch /en/configure.about.php

 cd php-8.0.0alpha1 
 ./configure --prefix=/usr/local/php80/ --enable-debug --enable-fpm  --with-config-file-path=/usr/local/php80/etc/ --with-config-file-scandir=/usr/local/php80/etc/php.d/
Nach dem Login kopieren

Wenn Sie während des Konfigurationsvorgangs auf den Fehler „configure:“ stoßen, beachten Sie die folgenden Fehlerdetails. Im Folgenden finden Sie eine Zusammenfassung der wichtigsten Informationen zu Fehlerbedingungen, die während des Konfigurationsprozesses auftreten. Für andere, nicht aufgeführte Fehlerbedingungen sind die Lösungen dieselben:

Fehler Nr. 1:

configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met: 
No package 'libxml-2.0' found
Nach dem Login kopieren

Lösung:

yum install libxml2-devel.x86_64
Nach dem Login kopieren

Fehler Nr. 2:

configure: error: Package requirements (sqlite3 > 3.7.4) were not met: 
No package 'sqlite3' found
Nach dem Login kopieren

Lösung:

yum install sqlite-devel.x86_64
Nach dem Login kopieren

Wenn Sie die folgende Eingabeaufforderung sehen, bedeutet dies, dass der Konfigurationsschritt erfolgreich war.

Kompilierung und Installation des PHP 8.0-Quellcodes und JIT-Early Adopter

6. Kompilierung und Installation

 make
Nach dem Login kopieren
Die in der Erstellungsphase verbrauchte Zeit hängt von der Maschinenkonfiguration ab Die folgenden Informationen zeigen an, dass die Herstellungsphase abgeschlossen wurde.

Build complete. 
Don't forget to run 'make test'.
Nach dem Login kopieren

Test durchführen Da es sich um einen Early Adopter handelt, entfällt dieser Schritt vorerst.

 make install
  exit 0;  -v -d /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.y -o
  /home/fanjiapeng/php-8.0.0alpha1/Zend/zend_ini_parser.c
  Installing shared extensions:     
  /usr/local/php80/lib/php/extensions/debugnon-zts-20190128/ 
  Installing PHP CLI binary:        /usr/local/php80/bin/ 
  Installing PHP CLI man page:      /usr/local/php80/php/man/man1/ 
  Installing PHP FPM binary:        /usr/local/php80/sbin/ 
  Installing PHP FPM defconfig:     /usr/local/php80/etc/ 
  Installing PHP FPM man page:      /usr/local/php80/php/man/man8/ 
  Installing PHP FPM status page:   /usr/local/php80/php/php/fpm/ 
  Installing phpdbg binary:         /usr/local/php80/bin/ 
  Installing phpdbg man page:       /usr/local/php80/php/man/man1/ 
  Installing PHP CGI binary:        /usr/local/php80/bin/ 
  Installing PHP CGI man page:      /usr/local/php80/php/man/man1/ 
  Installing build environment:     /usr/local/php80/lib/php/build/ 
  Installing header files:          /usr/local/php80/include/php/ 
  Installing helper programs:       /usr/local/php80/bin/   
  program: phpize   
  program: php-config 
  Installing man pages:             /usr/local/php80/php/man/man1/   
  page: phpize.1   
  page: php-config.1 
  /home/fanjiapeng/php-8.0.0alpha1/build/shtool install -c ext/phar/phar.phar /usr/local/php80/bin/phar.phar 
  ln -s -f phar.phar /usr/local/php80/bin/phar 
  Installing PDO headers:           /usr/local/php80/include/php/ext/pdo/
Nach dem Login kopieren

PHP überprüfen

8. Umgebungskonfiguration

/usr/local/php80/bin/php -v 
 PHP 8.0.0alpha1 (cli) (built: Jul  2 2020 15:47:26) ( NTS DEBUG ) 
Copyright (c) The PHP Group
 Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
Nach dem Login kopieren

9 🎜>

Überprüfen Sie, ob die benutzerdefinierten Konfigurationselemente wirksam werden: --with-config-file-path, --with-config-file-scan-dir

ln -s /usr/local/php80/bin/php /usr/bin/php80 
cp php.ini-development /usr/local/php80/etc/php.ini
cp /usr/local/php80/etc/php-fpm.conf.default /usr/local/php80/etc/phpfpm.conf
cp /usr/local/php80/etc/php-fpm.d/www.conf.default /usr/local/php80/etc/php-fpm.d/www.conf 
cp sapi/fpm/init.d.php-fpm /etc/init.d/php80-fp
chmod +x /etc/init.d/php80-fpm
Nach dem Login kopieren
10, FPM starten

php80 --ini 
Configuration File (php.ini) Path: /usr/local/php80/etc/ 
Loaded Configuration File:         /usr/local/php80/etc/php.ini 
Scan for additional .ini files in: /usr/local/php80/etc/php.d/ 
Additional .ini files parsed:      (none)
Nach dem Login kopieren

11. FPM überprüfen

/etc/init.d/php80-fpm 
start Starting php-fpm  done
Nach dem Login kopieren

Die Nginx-Konfigurationsdetails werden hier weggelassen, hauptsächlich um schnell zu testen, ob der installierte PHP-FPM-Modus verfügbar ist von.

ps aux | grep php-fpm 
root     26876  0.0  0.0  52084  2828 ?        Ss   Jul02   0:14 php-fpm: 
master process (/usr/local/php80/etc/php-fpm.conf) 
nobody   26877  0.0  0.0  52084  3648 ?        S    Jul02   0:00 php-fpm: 
pool www 
nobody   26878  0.0  0.0  52084  3624 ?        S    Jul02   0:00 php-fpm: pool www 
/etc/init.d/php80-fpm -h 
Usage: /etc/init.d/php80-fpm {start|stop|forcequit|restart|reload|status|configtest} 
/etc/init.d/php80-fpm status 
php-fpm (pid 26876) is running... 
/etc/init.d/php80-fpm configtest 
[06-Jul-2020 11:06:42] NOTICE: configuration file /usr/local/php80/etc/php
fpm.conf test is successful
Nach dem Login kopieren
rrree12. Probieren Sie neue JIT-Funktionen aus

Maschinenkonfiguration: 8-Core 16G, SATA-Festplatte, Betriebssystem: CentOS Linux Release 7.4.1708 (Core)

Zend OPCache (/usr/local/php80/etc/php.ini) ist wie folgt konfiguriert. Die meisten [opcache]-Konfigurationselemente haben Standardwerte aufgelistet:

// index.php 
<?php 
var_dump(PHP_VERSION); 
var_dump(PHP_VERSION_ID);
Nach dem Login kopieren
Dies ist eine virtuelle Maschine mit ungenutzten Ressourcen. Nach mehrmaligem Ein- und Ausschalten von JIT zeigen die Testergebnisse, dass sich der Ergebniswert fast nicht ändert. Die Testergebnisse haben nicht speziell die schönsten Daten ausgewählt. Tatsächlich besteht keine Notwendigkeit. Wie in der Abbildung unten gezeigt:

13. Zusammenfassung

Kompilierung und Installation des PHP 8.0-Quellcodes und JIT-Early Adopter

Dies ist eine allgemeine PHP-Quellcode-Kompilierungs- und Installationsmethode PHP-Versionen können ähnlich kompiliert werden. In tatsächlichen Geschäftsanwendungen sind die Konfigurationsoptionen viel umfangreicher und die zu installierenden Klassenbibliotheken sind umfangreicher. In diesem Artikel wird das neue Feature JIT von PHP 8 getestet. Den Testergebnissen von Zend/bench.php zufolge ist es immer noch ein Hingucker. Bezüglich der Einführung von PHP 8 JIT empfehlen wir „

Einführung in die Verwendung von JIT, dem neuen Feature von PHP8“.

Empfohlener Artikel: „PHP8.0

Das obige ist der detaillierte Inhalt vonKompilierung und Installation des PHP 8.0-Quellcodes und JIT-Early Adopter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!