GNU/Linux >> Belajar Linux >  >> Debian

Instalasi PHP 7 terbaru dari Debian 8 Jessie Linux

Pengantar

Repositori paket stabil Debian saat ini mungkin tidak selalu berisi perangkat lunak terbaru yang sejalan dengan
harapan kami. Ada alasan yang sangat bagus untuk hal ini, seperti sistem yang stabil sebagai pertukaran untuk menjalankan perangkat lunak yang mutakhir.

Bahasa skrip sisi server PHP bukan pengecualian! Pada
saat penulisan, versi PHP Debian saat ini adalah 5.6.29 sedangkan rilis sumber PHP terbaru adalah 7.1.0 ( mengingat tidak ada PHP 6 sama sekali ).

Klaim pengembang PHP saat ini menempatkan PHP 7 di depan PHP 5.6 dalam hal kecepatan, di mana PHP 7 seharusnya dua kali lebih cepat dari pendahulunya:

Berkat Zend Engine 3.0 yang baru, aplikasi Anda melihat kinerja hingga 2x lebih cepat dan konsumsi memori 50% lebih baik daripada PHP 5.6, memungkinkan Anda untuk melayani lebih banyak pengguna secara bersamaan tanpa menambahkan
perangkat keras apa pun. Dirancang dan difaktorkan ulang untuk beban kerja saat ini, PHP 7 adalah pilihan utama bagi pengembang web saat ini.

Referensi:zend.com/en/resources/php-7

Tujuan

Membandingkan kecepatan antara PHP 5.6 dan PHP 7.1.0 terbaru bukanlah tujuan dari artikel ini. Namun, tujuannya adalah agar rilis PHP 7 terbaru diinstal pada sistem Debian 8. Selain itu kami
akan menginstal PHP-FPM (FastCGI Process Manager). Panduan ini akan menawarkan dua kemungkinan penginstalan.

Pertama, panduan ini akan menggunakan compile-php-debian skrip tersedia di github.com/linuxconfig/compile-php-debian untuk mengotomatisasi instalasi PHP 7 dan nanti akan muncul, cara menginstal PHP 7 secara manual.

Persyaratan

  • Akses istimewa ke Sistem Linux Debian Anda sebagai root atau melalui sudo perintah diperlukan

Kesulitan

SEDANG

Konvensi

  • # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk

Hapus Paket PHP5

Jika Anda sudah menginstal PHP5 di sistem Anda, Anda harus menghapusnya sebelum menginstal PHP 7 yang baru. Untuk melakukannya untuk daftar semua php paket terkait di sistem Anda:

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

Perintah linux berikut akan menghapus semua paket yang terdaftar dengan output perintah di atas:

# REMOVE=$(dpkg -l | grep -E "^ii.*php" | cut -d " " -f3)
# dpkg -P $REMOVE

Instalasi Otomatis Berskrip

Instalasi otomatis skrip berikut melakukan semua langkah yang diperlukan untuk mengkompilasi dan menginstal versi PHP 7 yang dipilih pengguna serta juga akan menginstal daemon PHP-FPM. Mulailah dengan mengkloning compile-php-debian naskah:

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

Selanjutnya, navigasikan ke compile-php-debian direktori:

$ cd compile-php-debian

Sekarang putuskan saja versi PHP 7 yang ingin Anda instal dan masukkan nomor versi yang Anda pilih sebagai argumen untuk install_php.sh naskah. Misalnya untuk menginstal PHP versi 7.0.8 masukkan:

# ./install_php.sh 7.0.8
FOR PHP VERSION 7.1.0 RUN
# ./install_php.sh 7.1.0 

Instalasi mungkin memakan waktu. Setelah selesai, jalankan Daemon PHP-FPM dengan menjalankan service perintah:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Daemon PHP-FPM sekarang mendengarkan di localhost nomor port 9000 . Anda juga dapat mencoba menghubungkan ke daemon PHP-FPM secara langsung menggunakan cgi-fcgi perintah ditemukan di dalam libfcgi0ldbl paket:

# cgi-fcgi -bind -connect 127.0.0.1:9000
X-Powered-By: PHP/7.1.0
Content-type: text/html; charset=UTF-8

Ini menyelesaikan instalasi PHP 7 Anda di sistem Linux Debain 8 Anda.

Instalasi Manual

Penginstalan Prasyarat

Mari kita mulai dengan menginstal semua prasyarat agar sesuai dengan opsi kompilasi PHP yang paling umum:

# apt-get install autoconf bison build-essential git-core libbz2-dev libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg-dev libmcrypt-dev libpng-dev libpspell-dev libreadline-dev libssl-dev 
libxml2-dev pkg-config

Unduh Kode Sumber PHP

Mungkin cara termudah untuk mendapatkan kode sumber PHP untuk mengkloning repositori PHP di GitHub. Jalankan perintah linux berikut untuk mengkloning direktori sumber PHP:

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

Setelah git clone operasi selesai Anda akan ditinggalkan dengan nama direktori baru php-src .

Alternatif lain adalah mendapatkan tarball dari versi PHP tertentu yang
ingin Anda instal dengan mengunduhnya langsung dari http://php.net/downloads.php . Keuntungan dalam hal ini adalah persyaratan ukuran unduhan yang minimal. Namun, Anda tidak akan dapat memilih
versi yang berbeda secara selektif untuk beberapa penerapan.

Kompilasi Kode Sumber PHP

Pada tahap ini kita sudah siap untuk melakukan kompilasi source code PHP. Arahkan ke php-src yang diunduh sebelumnya direktori:

$ cd php-src

Selanjutnya, putuskan versi PHP yang ingin Anda kompilasi dan instal. Jalankan git berikut ini perintah untuk mendaftar semua versi PHP 7 yang tersedia:

$ git branch -a | grep PHP-7
  remotes/origin/PHP-7.0
  remotes/origin/PHP-7.0.0
  remotes/origin/PHP-7.0.1
  remotes/origin/PHP-7.0.10
  remotes/origin/PHP-7.0.11
  remotes/origin/PHP-7.0.12
  remotes/origin/PHP-7.0.13
  remotes/origin/PHP-7.0.14
  remotes/origin/PHP-7.0.2
  remotes/origin/PHP-7.0.3
  remotes/origin/PHP-7.0.4
  remotes/origin/PHP-7.0.5
  remotes/origin/PHP-7.0.6
  remotes/origin/PHP-7.0.7
  remotes/origin/PHP-7.0.8
  remotes/origin/PHP-7.0.9
  remotes/origin/PHP-7.1
  remotes/origin/PHP-7.1.0
  remotes/origin/PHP-7.1.0RC1
  remotes/origin/PHP-7.1.0RC2
  remotes/origin/PHP-7.1.0RC3
  remotes/origin/PHP-7.1.0beta1
  remotes/origin/PHP-7.1.0beta2
  remotes/origin/PHP-7.1.0beta3

Gunakan git checkout perintah untuk beralih ke cabang versi PHP yang Anda inginkan yang ingin Anda gunakan untuk kompilasi. Contoh:

$ git checkout PHP-7.1.0
Branch PHP-7.1.0 set up to track remote branch PHP-7.1.0 from origin.
Switched to a new branch 'PHP-7.1.0'

Selanjutnya, buat direktori untuk dijadikan target instalasi. Dalam kasus kami ini akan menjadi /usr/local/php-7.1.0 :

# mkdir /usr/local/php-7.1.0

dan tentukan semua string kompilasi. Perhatikan secara khusus --prefix dan --with-config-file-scan-dir string konfigurasi yang mendefinisikan instalasi dan konfigurasi
setelan. Berikut ini adalah daftar opsi kompilasi PHP yang paling umum.

Jangan ragu untuk memperbarui daftar agar sesuai dengan kebutuhan Anda. Tergantung pada pilihan Anda, Anda mungkin diminta untuk menginstal
prasyarat tambahan. Salin dan tempel teks di bawah ini ke terminal Anda diikuti dengan ENTER:

CONFIGURE_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 \
                   --enable-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-file-scan-dir=/usr/local/php-7.1.0/etc/conf.d \
                   --with-curl \
                   --with-fpm-group=www-data \
                   --with-fpm-user=www-data \
                   --with-freetype-dir \
                   --with-gd \
                   --with-gettext \
                   --with-jpeg-dir \
                   --with-mcrypt \
                   --with-mhash \
                   --with-mysqli=mysqlnd \
                   --with-mysql-sock=/var/run/mysqld/mysqld.sock \
                   --with-openssl \
                   --without-pear \
                   --with-pdo-mysql=mysqlnd \
                   --with-pdo-sqlite \
                   --with-png-dir \
                   --with-pspell \
                   --with-readline \
                   --with-sqlite3 \
                   --with-zlib"

Di atas akan mengatur CONFIGURE_STRINGS variabel shell untuk memuat semua opsi kompilasi PHP Anda. Selanjutnya, kita perlu membangun konfigurasi dan Makefile. Untuk melakukannya, jalankan:

$ ./buildconf --force
Forcing buildconf
Removing configure caches
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in

Selanjutnya, lakukan konfigurasi kompilasi:

$ ./configure $CONFIGURE_STRINGS

Jika tidak ada kesalahan yang dihasilkan oleh configure di atas perintah, maka saatnya untuk melakukan kompilasi dengan menjalankan make perintah:

$ make
....
Build complete.
Don't forget to run 'make test'.

Setelah kompilasi jika kode sumber PHP selesai, secara opsional jalankan make test perintah atau jalankan make install perintah untuk menginstal semua binari yang telah dikompilasi sebelumnya ke dalam
direktori yang relevan:

# make install
Installing shared extensions:     /usr/local/php-7.1.0/lib/php/extensions/no-debug-non-zts-20160303/
Installing PHP CLI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CLI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing PHP FPM binary:        /usr/local/php-7.1.0/sbin/
Installing PHP FPM config:        /usr/local/php-7.1.0/etc/
Installing PHP FPM man page:      /usr/local/php-7.1.0/php/man/man8/
Installing PHP FPM status page:   /usr/local/php-7.1.0/php/php/fpm/
Installing phpdbg binary:         /usr/local/php-7.1.0/bin/
Installing phpdbg man page:       /usr/local/php-7.1.0/php/man/man1/
Installing PHP CGI binary:        /usr/local/php-7.1.0/bin/
Installing PHP CGI man page:      /usr/local/php-7.1.0/php/man/man1/
Installing build environment:     /usr/local/php-7.1.0/lib/php/build/
Installing header files:           /usr/local/php-7.1.0/include/php/
Installing helper programs:       /usr/local/php-7.1.0/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php-7.1.0/php/man/man1/
  page: phpize.1
  page: php-config.1
/php-src/build/shtool install -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
Installing PDO headers:           /usr/local/php-7.1.0/include/php/ext/pdo/

Semua selesai. PHP 7.1.0 sekarang diinstal. Untuk mengonfirmasi eksekusi:

$ /usr/local/php-7.1.0/bin/php -v
PHP 7.1.0 (cli) (built: Jan  2 2017 09:09:59) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies

Penginstalan Pengelola Proses FastCGI

Pada bagian ini kita akan menginstal PHP-FPM untuk digunakan sebagai front untuk instalasi dengan webserver seperti Nginx atau Apache. Pertama, buat tautan simbolis dari yang baru dikompilasi
/usr/local/php-$version/sbin/php-fpm biner untuk membuat instalasi kita rapi:

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

Masih di php-src direktori, atur default php.ini konfigurasi:

# cp php.ini-production /usr/local/php-7.1.0/lib/php.ini

Aktifkan file konfigurasi daemon PHP-FPM:

# mv /usr/local/php-7.1.0/etc/php-fpm.d/www.conf.default /usr/local/php-7.1.0/etc/php-fpm.d/www.conf

Gunakan editor teks dan buat /usr/local/php-7.1.0/etc/php-fpm.conf baru config file dengan konten berikut:

[global]
pid = /var/run/php7-fpm.pid
error_log = /var/log/php7-fpm.log
include=/usr/local/php-7.1.0/etc/php-fpm.d/*.conf

Aktifkan modul PHP Ekstra

Masukkan arahan modul apa pun yang ingin Anda aktifkan ke php.ini . Anda berkas konfigurasi. Misalnya untuk mengaktifkan modul Zend's OpCache PHP jalankan:

# echo "zend_extension=opcache.so" >> /usr/local/php-7.1.0/lib/php.ini

Konfigurasi Skrip init.d PHP7-FPM

Pertama, masukkan php7-fpm.init yang telah dimodifikasi berikut ini script ke /etc/init.d/ direktori:

# wget -qO /etc/init.d/php7-fpm https://linuxconfig.org/images/php7-fpm.init

Jika Anda telah menginstal versi PHP yang berbeda selain 7.1.0 gunakan editor teks Anda dan ubah variabel skrip berikut agar sesuai dengan VERSION PHP yang Anda instal :

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/php-VERSION/sbin
NAME=php-VERSION-fpm
DAEMON=/usr/local/php-VERSION/sbin/$NAME
CONFFILE=/usr/local/php-VERSION/etc/php-fpm.conf

Terakhir, buat /etc/init.d/php7-fpm dapat dieksekusi dan menjalankan udpate-rc.d perintah:

# chmod +x /etc/init.d/php7-fpm
# update-rc.d php7-fpm defaults

Mulai Daemon PHP-FPM

Sekarang Anda seharusnya dapat memulai Daemon PHP-FPM dengan menjalankan service perintah:

# service php7-fpm start
# service php7-fpm status
[ ok ] php-7.1.0-fpm is running.

Daemon PHP-FPM sekarang mendengarkan di localhost nomor port 9000 .


Debian
  1. Cara Menginstal Komposer PHP Di Debian Linux

  2. Instal Eclipse Java IDE Terbaru di Debian 8 dan Ubuntu 16.04 Linux

  3. Cara Install Eclipse Java IDE Terbaru di Debian 9 Stretch Linux

  1. Cara Menginstal Versi Mesa Terbaru Di Debian 9 Stretch Linux

  2. Cara menginstal driver NVIDIA terbaru di Debian 9 Stretch Linux

  3. Bagaimana mengintegrasikan Firefox terbaru di Gnome 3 di Debian Jessie

  1. Instalasi Steam Client di Debian Jessie 8 Linux 64-bit

  2. Instalasi Firefox Web Browser sederhana di Debian 8 Jessie Linux

  3. Bagaimana cara menginstal PHP 7.1 di server GNU/Linux Debian 8.7 (jessie)?