Heim > Artikel > Backend-Entwicklung > So installieren Sie PHP7.0 in einer Linux-Umgebung
In diesem Artikel erfahren Sie, wie Sie PHP7.0 in einer Linux-Umgebung installieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Vergleich zwischen PHP7 und HHVM
Die Leistung von PHP7 in realen Szenarien entspricht tatsächlich der von HHVM und übertrifft in einigen Szenarien sogar die von HHVM. Der Betrieb und die Wartung von HHVM sind komplex und es handelt sich um ein Multithread-Modell. Das bedeutet, dass der gesamte Dienst hängen bleibt und nicht automatisch neu gestartet wird. Darüber hinaus verwendet es JIT, was bedeutet, dass es nach dem Neustart aufgewärmt werden muss. Ohne Vorheizen wird die Leistung schlechter. Darüber hinaus ist das Multithread-Modell schwer zu debuggen, was für Webdienste, die Stabilität anstreben, sehr ungeeignet ist.
Nginx und Versionen vor PHP7.0 können auf diesen Artikel verwiesen werden: Installation und Debugging von Nginx in der Linux-Umgebung und PHP-Installation
Die offizielle Version von PHP7.0 wurde etwa im November 2015 veröffentlicht. Derzeit handelt es sich um die Version PHP7.0.2. Ich bin der Erste. Es begann mit der ersten Beta-Version von PHP7 im August 2015 und jetzt ist die offizielle Version veröffentlicht.
Linux-Version: 64-Bit CentOS 6.6
Nginx-Version: nginx1.8.0
PHP-Version: php-7.0.2
Herunterladen
# wget http://php.net/get/php-7.0.2.tar.gz/from/a/mirror
Es wird empfohlen, vor der Installation die Installationshilfedatei INSTALL zu lesen
Entpacken und install
# tar zxvf php-7.0.2.tar.gz # cd php-7.0.2
Überprüfen Sie zunächst die Installationshilfe
# ./configure --help # ./configure --prefix=/usr/local/php \ --with-curl \ --with-freetype-dir \ --with-gd \ --with-gettext \ --with-iconv-dir \ --with-kerberos \ --with-libdir=lib64 \ --with-libxml-dir \ --with-mysqli \ --with-openssl \ --with-pcre-regex \ --with-pdo-mysql \ --with-pdo-sqlite \ --with-pear \ --with-png-dir \ --with-xmlrpc \ --with-xsl \ --with-zlib \ --enable-fpm \ --enable-bcmath \ --enable-libxml \ --enable-inline-optimization \ --enable-gd-native-ttf \ --enable-mbregex \ --enable-mbstring \ --enable-opcache \ --enable-pcntl \ --enable-shmop \ --enable-soap \ --enable-sockets \ --enable-sysvsem \ --enable-xml \ --enable-zip
Wenn die Konfiguration falsch ist, müssen Sie die erforderlichen Module installieren, direkt yum, um die abhängigen Bibliotheken zusammen zu installieren
# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
Hinweis: Es gibt mehrere Konfigurationen, die nicht konfiguriert werden können Bei der Installation von php7beta3 müssen Sie yum, jetzt php- Dies ist bei 7.0.2 nicht mehr der Fall.
# yum -y install curl-devel # yum -y install libxslt-devel
Kompilieren und installieren
# make && make install
Konfigurationsdatei
# cp php.ini-development /usr/local/php/lib/php.ini # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf # cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
Es ist zu beachten, dass die www.conf-Konfigurationsdatei in PHP7 die Portnummer und andere Informationen von PHPFPM konfiguriert. Sie müssen es hier ändern. Ändern Sie dann die Nginx-Konfiguration.
Starten Sie
# /etc/init.d/php-fpm. Sehen Sie sich phpinfo() an. und ermitteln Sie, indem Sie nach dem Schlüssel suchen. Ob der Schlüssel vorhanden ist.
PHP-Version 5.4.44
[root@localhost www5.4.44]# time /usr/local/php5.4.44/bin/php search_by_key.php
real 0m0.351suser 0m0.300s
sys 0m0 .050s
PHP-Version 5.5.28
[root@localhost www]# time /usr/local/php/bin/php search_by_key.php
real 0m0.361s
user 0m0.304s
sys 0m0.05 7s
PHP-Version 7.0.0
[root@localhost www7]# time /usr/local/php7/bin/php search_by_key.php
real 0m0.114s
user 0m0.097s
sys 0m0.017s
Es ist offensichtlich, dass die Leistung von PHP7 dreimal so hoch ist wie die von PHP5!
Opcache konfigurieren
Offizielle Website-Adresse: http://php.net/opcache
Verwenden Sie die folgenden empfohlenen Einstellungen, um eine bessere Leistung zu erzielen:<?php //time /usr/local/php5/bin/php search_by_key.php $a = array(); for($i=0;$i<600000;$i++){ $a[$i] = $i; } foreach($a as $i) { array_key_exists($i, $a); } ?>Sie können auch opcache.save_comments deaktivieren und opcache.enable_file_override aktivieren. Es sei daran erinnert, dass die obige Konfiguration vor der Verwendung in einer Produktionsumgebung gründlich getestet werden muss. Da bei der oben genannten Konfiguration ein bekanntes Problem vorliegt, kommt es in einigen Frameworks und Anwendungen zu Ausnahmen, insbesondere wenn Dokumente vorhanden sind, die Kommentaranmerkungen verwenden.
opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1# Beitreten Neustart
vim /usr/local/php7/etc/php.ini
Opcache-Statustestcode (https://gist.github.com/ck-on/4959032) zur Demonstration:# killall php-fpm # /etc/init.d/php-fpm
Empfohlenes Lernen: php-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo installieren Sie PHP7.0 in einer Linux-Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!