Instalacja najnowszej krawędzi krwawienia PHP 7 na Debian 8 Jessie Linux

Instalacja najnowszej krawędzi krwawienia PHP 7 na Debian 8 Jessie Linux

Wstęp

Obecne stabilne repozytorium pakietów Debiana może nie zawsze zawierać aktualne oprogramowanie, z którymi ma być zgodne
nasze oczekiwania. Istnieje bardzo dobry powód, na przykład stabilny system jako kompromis do uruchamiania oprogramowania Bleeding Edge.

Język skryptowe po stronie serwera PHP nie jest zwolnieniem! Na
Czas pisania aktualnej wersji PHP Debiana jest 5.6.29 podczas gdy najnowsza wersja PHP jest 7.1.0(Biorąc pod uwagę, że w ogóle nie ma PHP 6).

Obecne twierdzenia dewelopera PHP umieszczają PHP 7 przed PHP 5.6 Pod względem prędkości, gdzie PHP 7 ma być bardziej dwa razy szybciej niż jego poprzednik:

Dzięki nowemu silnikowi Zend 3.0, Twoje aplikacje widzą do 2 razy szybszą wydajność i 50% lepsze zużycie pamięci niż PHP 5.6, umożliwiając obsługę bardziej współbieżnych użytkowników bez dodawania
sprzęt komputerowy. Zaprojektowany i refaktowany dla dzisiejszych obciążeń, PHP 7 jest obecnie ostatecznym wyborem dla programistów stron internetowych.

Odniesienie: Zend.com/en/zasoby/php-7

Cel

Aby porównać prędkość między PHP 5.6 i najnowszy PHP 7.1.0 nie jest celem tego artykułu. Jednak celem jest uzyskanie najnowszej wersji PHP 7 zainstalowanej w systemie Debian 8. Dodatkowo my
Zainstaluje PHP-FPM (FastCGI Process Manager). Ten przewodnik zaoferuje dwie możliwe instalacje.

Po pierwsze, przewodnik użyje kompila-php-debian skrypt dostępny na github.com/linuxconfig/compile-php-debian Aby zautomatyzować instalację PHP 7, a później pokaże, jak ręcznie zainstalować PHP 7.

Wymagania

  • Uprzywilejowany dostęp do systemu Debian Linux jako root lub za pośrednictwem sudo Wymagane jest polecenie

Trudność

ŚREDNI

Konwencje

  • # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
  • $ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Instrukcje

Usuń pakiety PHP5

Jeśli masz już zainstalowany w systemie PHP5, musisz je usunąć przed nową instalacją PHP 7. Zrobić to dla wszystkich php Powiązany pakiet w twoim systemie:

# dpkg -l | grep -e "^ii.*php "| cut -d" "-f3 libapache2-mod-php5 php5 php5-cli php5-common php5-json php5-readline 

Poniższe polecenie Linux usunie wszystkie pakiety wymienione przez powyższe wyjście polecenia:

# Remove = $ (dpkg -l | grep -e "^ii.*php "| cut -d" "-f3) # dpkg -p $ usuń 

Skryptowa automatyczna instalacja

Poniższa automatyczna instalacja wykonuje wszystkie niezbędne kroki w celu skompilowania i zainstalowania wersji PHP 7 wybranej przez użytkownika, a także zainstaluje demon PHP-FPM. Zacznij od klonowania kompila-php-debian scenariusz:

$ git clone https: // github.com/linuxconfig/compile-php-debian.git 

Następnie przejdź do kompila-php-debian informator:

$ CD Compile-Php-Debian

Teraz po prostu zdecyduj, jaką wersję PHP 7 chcesz zainstalować i wprowadź wybrany numer wersji jako argument install_php.cii scenariusz. Na przykład w celu zainstalowania PHP wersja 7.0.8 Wprowadź:

# ./install_php.SH 7.0.8 dla PHP wersja 7.1.0 Run # ./install_php.SH 7.1.0 

Instalacja może zająć trochę czasu. Po zakończeniu Rozpocznij demon PHP-FPM przez wykonanie praca Komenda:

# usługa php7-fpm start # usługa PHP7-FPM Status [OK] PHP-7.1.Działa 0-fpm. 

Demon php-fpm słucha teraz na Lokalny Gospodarznumer portu 9000. Możesz także próbować połączyć się z demem PHP-FPM bezpośrednio za pomocą CGI-FCGI dowództwo znalezione w środku libfcgi0ldbl pakiet:

# CGI -FCGI -Bind -Connect 127.0.0.1: 9000 X-Powered-by: PHP/7.1.0 Content-Type: Text/html; Charset = UTF-8 

To uzupełnia instalację PHP 7 w systemie Debain 8 Linux.

Instalacja ręczna

Wymagania wstępne instalacja

Zacznijmy od instalacji wszystkich warunków wstępnych, aby pasować do najczęstszych opcji kompilacji PHP:

# apt-get instalacja Autoconf Bison Cufild-Issential Git-Core libbz2-dev libcurl4-openssl-dev libfreeType6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev-dev-dev libssl-dev libxml2-dev pkg- konfigurator 

Pobierz kod źródłowy PHP

Prawdopodobnie najłatwiejszy sposób na uzyskanie kodu źródłowego PHP do klonowania repozytorium PHP na GitHub. Wykonaj następujące polecenie Linux, aby klonować katalog źródłowy PHP:

$ git clone https: // github.com/php/php-src.git 

Kiedyś Git Clone Operacja jest zakończona, otrzymasz nową nazwę katalogu php-src.

Inną alternatywą jest zdobycie tarball określonej wersji PHP
chęć zainstalować, pobierając go bezpośrednio z http: // php.netto/pobieranie.php. Zaletą w tym przypadku jest minimalne wymaganie wielkości pobierania. Jednak nie będziesz mógł wybrać
selektywnie różne wersje dla wielu wdrożeń.

Kompilacja kodu źródłowego PHP

Na tym etapie jesteśmy gotowi wykonać kompilację kodu źródłowego PHP. Przejdź do wcześniej pobranych php-src informator:

$ CD PHP-SRC 

Następnie zdecyduj, jaką wersję PHP chcesz skompilować i zainstalować. Uruchom następujące git Polecenie do listy wszystkich dostępnych wersji PHP 7:

$ git Branch -a | GREP PHP-7 pilotów/pochodzenie/php-7.0 pilotów/pochodzenia/php-7.0.0 pilotów/pochodzenia/php-7.0.1 piloty/pochodzenie/php-7.0.10 pilotów/pochodzenia/php-7.0.11 pilotów/pochodzenia/php-7.0.12 pilotów/pochodzenia/php-7.0.13 pilotów/pochodzenia/php-7.0.14 pilotów/pochodzenia/php-7.0.2 piloty/pochodzenie/php-7.0.3 piloty/pochodzenie/php-7.0.4 piloty/pochodzenie/php-7.0.5 pilotów/pochodzenia/php-7.0.6 pilotów/pochodzenia/php-7.0.7 pilotów/pochodzenia/php-7.0.8 pilotów/pochodzenia/php-7.0.9 pilotów/pochodzenia/php-7.1 piloty/pochodzenie/php-7.1.0 pilotów/pochodzenia/php-7.1.0RC1 Remotes/Origin/PHP-7.1.0RC2 Remotes/Origin/PHP-7.1.0RC3 Remotes/Origin/PHP-7.1.0beta1 pilotów/pochodzenie/php-7.1.0beta2 piloty/pochodzenie/php-7.1.0beta3 

Używać Git Checkout polecenie przejścia do żądanej gałęzi wersji PHP, której chcesz użyć do kompilacji. Przykład:

$ git kector php-7.1.0 Oddział PHP-7.1.0 Skonfiguruj do śledzenia zdalnego oddziału PHP-7.1.0 z pochodzenia. Przełączono na nową gałąź „PHP-7.1.0 ' 

Następnie utwórz katalog, który ma być używany jako cel instalacyjny. W naszym przypadku będzie to /USR/Local/Php-7.1.0:

# mkdir/usr/local/php-7.1.0 

i określ wszystkie ciągi kompilacji. Zanotuj specjalną notatkę --prefiks I --z config-file-scan-dir Strings konfiguracji, które definiują instalację i konfigurację
Ustawienia.Poniżej znajduje się lista najczęstszych opcji kompilacji PHP.

Poczuj się, aby zaktualizować listę, aby pasował do twoich potrzeb. W zależności od wyboru możesz być zobowiązany do zainstalowania dodatkowych
Wymagania wstępne. Skopiuj i wklej poniżej tekst do terminala, a następnie Enter:

Konfiguruj_strings = "-enable-bcmath \ --enable-calendar \ --enable-dba \ --enable-exif \ --enable-filter \ --enable-fpm \ --enable-ftp \ --enable-gd -native-ttf \ --enable-intl \ --enable-mbstring \ --enable-mysqlnd \ --enable-pcntl \ --enable-shmop \ --enable-simplexml \ --enable-soap \ --enableble -sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-Wddx \ --enable-xmlReader \ --enable-xmlWriter \ --enable-zip \--prefix =/ USR/Local/PHP-7.1.0 \--With-Bz2 \--With-Config-plik-scan-dir =/usr/local/php-7.1.0/etc/conf.d \--with-curl \--with-fpm-grupa = www-data \--with-fpm-user = www-data \--with-freeType-dir \--vith-gd \--with-- getText \--With-jpeg-dir \--with-McRypt \--With-Mhash \--With-Mysqli = mysqlnd \--with-mysql-sock =/var/run/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld/mysqld.sock \--with-openssl \--without-Pear \--with-pdo-mysql = mysqlnd \--with-pdo-sqlite \--with-png-dir \--with-pspell \--vith- Readline \--With-Sqlite3 \--With-zlib " 

Powyższe będzie ustawione Konfiguruj_strings Zmienna powłoki, aby zawierać wszystkie opcje kompilacji PHP. Następnie musimy zbudować naszą konfigurację i makefiles. Wykonaj to:

$ ./BuildConf -Force Wymuszanie BuildConf Usuwanie konfiguracji buforów odbudowy Aclocal.odbudowa M4 Konfiguracja odbudowy main/php_config.H.W 

Następnie wykonaj konfigurację kompilacji:

$ ./konfiguruj $ configure_strings 

Jeśli powyższe nie wprowadzono błędów skonfiguruj polecenie, potem czas na wykonanie kompilacji, uruchamiając robić Komenda:

$ Make… buduj kompletne. Nie zapomnij uruchomić „Test”. 

Po kompilacji po zakończeniu kodu źródłowego PHP, opcjonalnie wykonaj Dokonaj testu polecenie lub uruchom Zrób instalację polecenie instalacji wszystkich wcześniej skompilowanych binarów w ich
odpowiednie katalogi:

# Spraw, aby instalacja instalacja udostępnianych rozszerzeń:/usr/local/php-7.1.0/lib/php/rozszerzenia/no-debug-non-zts-20160303/instalacja php CLI Binary:/usr/local/php-7.1.0/BIN/Instalowanie PHP CLI Man Strona:/usr/local/php-7.1.0/php/man/man1/instalowanie php fpm binarne:/usr/local/php-7.1.0/sbin/instalowanie php fpm config:/usr/local/php-7.1.0/etc/Instalowanie PHP FPM Man Strona:/USR/Local/Php-7.1.0/php/man/man8/instalacja Strona statusu PHP FPM:/usr/local/php-7.1.0/php/php/fpm/instalowanie phpdbg binarne:/usr/local/php-7.1.0/bin/instalowanie PHPDBG Man Strona:/usr/local/php-7.1.0/php/man/man1/instalacja php cGI Binary:/usr/local/php-7.1.0/BIN/Instalowanie PHP CGI Man Strona:/usr/local/php-7.1.0/php/man/man1/instalowanie środowiska kompilacji:/usr/local/php-7.1.0/lib/php/kompilacja/instalowanie plików nagłówka:/usr/local/php-7.1.0/include/php/instalowanie programów pomocniczych:/usr/local/php-7.1.0/BIN/Program: PhPize Program: PHP-Config Instalowanie stron Man:/USR/Local/Php-7.1.0/php/man/man1/strona: Phpize.1 strona: php-config.1/php -src/build/shtool instaluj -C ext/phar/phar.phar/usr/local/php-7.1.0/bin ln -s -f phar.phar/usr/local/php-7.1.0/BIN/PHAR Instalowanie nagłówków PDO:/USR/Local/Php-7.1.0/include/php/ext/pdo/ 

Wszystkie zrobione. PHP 7.1.0 jest teraz zainstalowane. Aby potwierdzić Wykonaj:

$/usr/local/php-7.1.0/bin/php -v php 7.1.0 (CLI) (Zbudowany: 2 stycznia 2017 09:09:59) (NTS) Copyright (C) 1997-2016 Grupa PHP Zend Engine V3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies 

Instalacja FastCGI Process Manager

W tej sekcji zainstalujemy PHP-FPM do użycia jako front do instalacji z serwisami internetowymi, takimi jak Nginx lub Apache. Najpierw utwórz symboliczny link nowo skompilowanego
/usr/local/php-$ wersja/sbin/php-fpm binarny, aby nasza instalacja jest uporządkowana:

# ln -s/usr/local/php -7.1.0/sbin/php-fpm/usr/local/php-7.1.0/sbin/php-7.1.0-fpm 

Wciąż w php-src katalog, skonfiguruj domyślnie php.ini Konfiguracja:

# CP PHP.ini-produkcja/usr/local/php-7.1.0/lib/php.ini 

Włącz plik konfiguracyjny demona PHP-FPM:

# mv/usr/local/php-7.1.0/etc/php-fpm.D/www.conf.Domyślne/usr/local/php-7.1.0/etc/php-fpm.D/www.conf 

Użyj edytora tekstu i utwórz nowe /USR/Local/Php-7.1.0/etc/php-fpm.conf Plik konfiguracji z następującą zawartością:

[Global] PID =/var/run/php7-fpm.PID ERROR_LOG =/var/log/php7-fpm.Dziennik obejmuje =/usr/local/php-7.1.0/etc/php-fpm.D/*.conf 

Włącz dodatkowe moduły PHP

Włóż wszelkie dyrektywy modułów, które chcesz włączyć do swojego php.ini plik konfiguracyjny. Na przykład, aby włączyć moduł opcache PHP Zend:

# echo "zend_extension = opcache.więc ">>/usr/lokal/php-7.1.0/lib/php.ini 

Skonfiguruj init PHP7-FPM.D Skrypt

Najpierw wstaw następujące zmodyfikowane PHP7-FPM.w tym skrypt do /etc/init.D/ informator:

# wget -qo /etc /init.d/php7-fpm https: // linuxconfig.org/obrazy/php7-fpm.w tym 

Na wypadek, gdybyś zainstalował inną wersję PHP inną niż 7.1.0 Użyj edytora tekstu i zmień następujące zmienne skryptu, aby pasowały do ​​zainstalowanego PHP WERSJA:

Ścieżka =/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/php-version/sbin nazwa = php-wersja fpm daemon =/usr/local/php-wersja/sbin/$ nazwa nazwy Conffile =/usr/local/php-wersja/etc/php-fpm.conf 

Wreszcie, zrób /etc/init.D/PHP7-FPM wykonywalny i uruchom Udpate-Rc.D Komenda:

# chmod +x /etc /init.D/PHP7-FPM # aktualizacja-RC.D PHP7-FPM domyślnie 

Rozpocznij demon PHP-FPM

Teraz powinieneś być w stanie po prostu uruchomić demon php-fpm, wykonując praca Komenda:

# usługa php7-fpm start # usługa PHP7-FPM Status [OK] PHP-7.1.Działa 0-fpm. 

Demon php-fpm słucha teraz na Lokalny Gospodarznumer portu 9000.

Powiązane samouczki Linux:

  • Dodanie repozytorium krawędzi krwawiących do Kali Linux
  • Zagnieżdżone pętle w skryptach Bash
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Najlepszy Linux Distro dla programistów
  • Jak często musisz ponownie uruchomić serwer Linux?
  • Bash i DD: testowanie prędkości napędu flash za pomocą prostego skryptu
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • Manjaro Linux vs Arch Linux
  • Ubuntu 22.04 Funkcje i data premiery