Heim > Artikel > Backend-Entwicklung > Kompilierung und Installation des PHP 8.0-Quellcodes und JIT-Early Adopter
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/
2. PHP 8.0 herunterladen
wget https://downloads.php.net/~pollita/php-8.0.0alpha1.tar.gz
3. Entpacken
tar -zxvf php-8.0.0alpha1.tar.gz
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/php805. 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/
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
Lösung:
yum install libxml2-devel.x86_64
Fehler Nr. 2:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met: No package 'sqlite3' found
Lösung:
yum install sqlite-devel.x86_64
Wenn Sie die folgende Eingabeaufforderung sehen, bedeutet dies, dass der Konfigurationsschritt erfolgreich war.
6. Kompilierung und Installation make
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'.
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/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
9 🎜>
Überprüfen Sie, ob die benutzerdefinierten Konfigurationselemente wirksam werden: --with-config-file-path, --with-config-file-scan-dirln -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-fpm10, 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)
11. FPM überprüfen
/etc/init.d/php80-fpm start Starting php-fpm doneDie 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 successfulrrree12. 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);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. ZusammenfassungDies 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!