Jak zainstalować PHP 7.2 z PHP-FPM i FastCGI, MemCache, xDebug dla ISPConfig 3 na Debian 9 (Stretch) | Riken24.pl

PROFESJONALNE STRONY INTERNETOWE MOŻNA ZAMÓWIĆ POD NR 799 164 364. | PROMOCYJNE STRONY INTERNETOWE JUŻ ZA 500 PLN

W tym poradniku zajmiemy się instalacją PHP 7.2 na Debian 9 (Stretch).

 

Po instalacji Debian-a 9 w wersji serwer, domyślnie mamy zainstalowane PHP w wersji 7.0. Jak wiadomo już wyszły nowsze wersje PHP. Na szczęście ISPConfig 3 daje nam możliwość obsługi wielu wersji PHP na jednym serwerze i możemy wybrać inną wersje dla każdej strony na serwerze, więc grzechem by było z tego nie skorzystać.

 

Zainstalujemy dla wersji PHP 7.2 z FPM i FastCGI, domyślnie wszystko będzie instalowane do folderu /opt, żeby nie ingerowało w domyślną wersje PHP 7.0 Debiana 9.

 

Co musimy pamiętać ?

PHP-FPM może być używane na serwerach Apache i Nginx,
FastCGI tylko na serwerach Apache.

 

Przygotowanie

 

Instalujemy potrzebne nam rzeczy,

 

Z poziomu root-a:

 

apt-get install build-essential nano następnie biblioteki: apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-turbo-dev libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev

 

tworzymy powiązania:

ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a cd /usr/include
ln -s x86_64-linux-gnu/curl

 

Jeśli tworzymy PHP z –with-imap to potrzebujemy użyć lcrypt, żeby ./configure nam działało prawidłowo.

checking for crypt in -lcrypt... yes
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
root@server1:/usr/local/src/php5-build/php-7.1.14#

Kompilujemy PHP 7.2 wraz z FastCGI i FPM-PHP.

 

Ściągamy i rozpakowujemy archiwa instalacyjne.

 

mkdir -p /opt/php-7.2
mkdir /usr/local/src/php7.2-build
cd /usr/local/src/php7.2-build
wget http://de2.php.net/get/php-7.2.2.tar.bz2/from/this/mirror -O php-7.2.2.tar.bz2
tar jxf php-7.2.2.tar.bz2 cd php-7.2.2/

Konfigurujemy i kompilujemy paczkę z PHP 7.2

 

Jeśli chcemy użyć alternatywy lub coś więcej to możemy się wesprzeć za pomocą –help.

 

./configure --help

 

Dodajemy biblioteki:

 

./configure --prefix=/opt/php-7.2 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm

 

Sama ostatnia opcja czyli –enable-fpm jak sama nazwa wskazuje odpowiada za kompatybilność PHP 7.2 z PHP-FPM. Następnie tworzymy za pomocą „make” i instalujemy za pomocą polecania „make install

 

make
make install

 

Teraz kopiujemy niezbędne nam pliki w odpowiednią lokalizacje, jak na początku ustaliliśmy będzie to /opc
A te niezbędne nam pliki to oczywiście php.ini oraz php-fpm.conf.

 

cp /usr/local/src/php7.2-build/php-7.2.2/php.ini-production /opt/php-7.2/lib/php.ini
cp /opt/php-7.2/etc/php-fpm.conf.default /opt/php-7.2/etc/php-fpm.conf
cp /opt/php-7.2/etc/php-fpm.d/www.conf.default /opt/php-7.2/etc/php-fpm.d/www.conf

 

Kolejnym krokiem jest edytowanie pliku php-fpm.conf, który już znajduje się w folderze /opt/php-7.2/etc/ Zrobimy to z edytora nano, który zainstalowaliśmy na początku. Naszym celem jest usunięcie średnika z lini „;pid = run/php-fpm.pid” Czyli:

 

nano /opt/php-7.2/etc/php-fpm.conf

 

usuwamy „;” przed „pid = run/php-fpm.pid” tak żeby nam zostało samo: pid = run/php-fpm.pid Kolejny krokiem będzie zmiana portu dla PHP 7.1 z 9000 na np. 8998, to możemy zrobić w pliku /opt/php-7.2/etc/php-fpm.d/www.conf a więc do dzieła:

 

nano /opt/php-7.2/etc/php-fpm.d/www.conf

 

Teraz wyszukujemy linie: listen = 127.0.0.1:9000 i zmieniamy numer portu np. z 9000 na 8998

 

listen = 127.0.0.1:8998

Tworzenie pliku systemowego do uruchamiania PHP-FPM

 

Tworzymy plik:

 

nano /lib/systemd/system/php-7.2-fpm.service

 

Wklejamy do niego następującą treść:

 

[Unit]
Description=The PHP 7.2 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/opt/php-7.2/var/run/php-fpm.pid
ExecStart=/opt/php-7.2/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.2/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

 

Zapisujemy, włączamy usługę PHP-FPM i restartujemy usługę.

systemctl enable php-7.2-fpm.service
systemctl daemon-reload

 

Startujemy usługę:

 

systemctl start php-7.2-fpm.service

 

Włączamy pamięć podręczną za pośrednictwem Zend OPcache, która się znajduje w /opt/php-7.2/lib/php.ini

 

nano /opt/php-7.2/lib/php.ini

 

Na samym końcu pliku dodajemy wiersz:

 

zend_extension=opcache.so

Dodajemy, kompilujemy, włączamy pamięć cache (MemCache)

 

Żeby to uczynić musimy dodać paczkę libmemcached-dev, a więc:

 

apt-get install libmemcached-dev

 

Teraz tworzymy katalog, pobieramy MemCache PHP z Girhub-a, rozpakowujemy i wchodzimy do nowo powstałego katalogu:

 

mkdir /usr/local/src/php7.2-build/php-memcache
cd /usr/local/src/php7.2-build/php-memcache
wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
unzip php7.zip
cd php-memcached-php7

 

Pora zgromadzić wszystkie przygotowane źródła żeby zainstalować:

 

/opt/php-7.2/bin/phpize

 

Budujemy, kompilujemy i instalujemy:

 

./configure --with-php-config=/opt/php-7.2/bin/php-config
make
make install

 

Pora włączyć rozszerzenie Memcache, a więc otwieramy /opt/php-7.1/lib/php.ini

 

nano /opt/php-7.2/lib/php.ini

 

i dodajemy na końcu pliku php.ini linijkę:

 

extension=memcached.so

Instalujemy debugowanie dla PHP, czyli dodatek xDebug.

 

Żeby zainstalować wykonujemy po kolei te polecenia:

 

cd /opt/php-7.2/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install xdebug

 

Ponownie musimy edytować plik php.ini dodając do niego linie kodu, a więc:

 

nano /opt/php-7.2/lib/php.ini

 

na końcu pliku dodajemy ten wiersz:

zend_extension=/opt/php-7.2/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so

 Resetujemy debuggera:

 

systemctl start php-7.2-fpm.service

Mamy wszystko zainstalowane:

 

PHP 7.1 z FastCGI, PHP-FPM, MemCache i xDebug.

 

Testujemy czy działa

 

Sprawdzamy wersje PHP:

 

cd /opt/php-7.2/bin
./php --version

 

Powinniśmy uzyskać informacje: PHP 7.2.x ….

 

Włączamy PHP 7.2 w panelu ISPConfig 3

 

 

Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 1 strona

Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 1 strona

 

 

Ścieżka do binarki PHP FastCGI: /opt/php-7.2/bin/php-cgi
Ścieżka do katalogu PHP.INI: /opt/php-7.2/lib
Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 2 strona

Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 2 strona

 

 

Ścieżka do skryptu inicjującego PHP-FPM: php-7.2-fpm
Ścieżka do katalogu PHP.INI: /opt/php-7.2/lib
Ścieżka do katalogu pool PHP-FPM: /opt/php-7.2/etc/php-fpm.d
Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 3 strona

Instalacja PHP 7.2 z PHP-FPM i FastCGI na Debian 9 serwer 3 strona

 

 

Teraz w każdej stronie w panelu możemy ustawić wersje PHP 7.2 z PHP-FPM i FastCGI 🙂

Telefony - sprawdź na Ceneo.pl

 

źródło: howtoforge.com/tutorial/how-to-install-php-7-on-debian/