GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal PHP 7.2 di Ubuntu 16.04

Menggunakan PHP 7.2 pada server khusus Ubuntu sangat disarankan dibandingkan versi PHP sebelumnya karena beberapa alasan, pertama karena keamanan. Dukungan Aktif untuk PHP 7.2 berlaku hingga 30 November 2019 dan Dukungan Keamanan hingga 30 November 2020. Versi yang lebih lama seperti 7.0 dan versi 5.6 dan di bawahnya tidak lagi mendapatkan dukungan apa pun dan dapat meninggalkan lubang keamanan terbuka di server jika tidak diganti . Alasan utama lainnya untuk meningkatkan adalah peningkatan kinerja yang besar dari versi sebelumnya ketika PHP 7.2 diinstal dan menggunakan modul OPcache . Ini dapat sangat mengurangi waktu yang diperlukan untuk memuat halaman web Anda! Jika Anda mengembangkan situs secara lokal atau meluncurkannya di salah satu VPS Ubuntu atau Server Khusus Liquid Web, menggunakan PHP 7.2 atau yang lebih baru adalah cara yang tepat.

Pra-penerbangan:Periksa Lingkungan Server
  • Izin yang Benar: Pertama, pastikan Anda memiliki izin root atau sudo yang tepat untuk dapat mengelola sistem dan aplikasi di server. Jika Anda hanya memiliki akses ke pengguna non-root pada sistem, Anda mungkin harus mendapatkan izin lebih dari admin server.
  • Versi PHP yang Ada: Periksa versi PHP yang ada. Jika Anda memilih tumpukan LAMP default saat pertama kali menginstal image Ubuntu ke server, defaultnya adalah PHP 7.0. Jika Anda menggunakan gambar yang berbeda atau melakukan instalasi biasa, maka Anda mungkin tidak memiliki versi PHP apa pun di server. Untuk memeriksa versi PHP, akses terminal dan jalankan:
user@test:~# php -v
 PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )

Jika Anda melihat versi PHP yang lebih lama, maka Anda harus menginstal versi baru dan mengganti versi yang terhubung dengan Apache nanti. Jika muncul “Command php not found” maka tidak ada versi PHP yang terpasang saat ini .

  • Membuat Cadangan Cepat: Jika Anda memiliki versi PHP yang ada, Anda mungkin ingin membuat cadangan konfigurasi apa pun sebelum melakukan peningkatan jika ada masalah (seperti jika kode situs Anda tidak kompatibel) dan Anda perlu menurunkan versi lagi. Anda dapat memeriksa direktori konfigurasi saat ini dengan menjalankan:
user@test:~# php --ini
 Configuration File (php.ini) Path: /etc/php/7.0/cli
 Loaded Configuration File:         /etc/php/7.0/cli/php.ini
 Scan for additional .ini files in: /etc/php/7.0/cli/conf.d

Ini menunjukkan semua konfigurasi ada di /etc/php/7.0/ direktori. Jadi jika Anda ingin membuat cadangan cepat, Anda dapat menjalankan perintah seperti:

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Anda juga dapat menyimpan daftar modul PHP yang ada dengan menjalankan:

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Ini dapat membantu ketika membandingkan modul yang ada dengan modul di PHP 7.2.

Menginstal PHP 7.2

Repositori resmi untuk PHP di Ubuntu adalah dari Ondřej Surý di launchpad. Untuk menambahkannya ke sistem Anda, Anda perlu menjalankan perintah berikut:

user@test:~# sudo add-apt-repository ppa:ondrej/php

Tekan enter ketika itu meminta Anda untuk. Ini memungkinkan sistem Anda untuk menggunakan repositori sebagai sumber untuk perangkat lunak baru. Perintah berikutnya mengambil daftar paket perangkat lunak yang tersedia untuk sistem Anda:

user@test:~# sudo apt-get update

Setelah itu Anda dapat melanjutkan dengan instalasi:

user@test:~# sudo apt-get install php7.2

Ini harus menunjukkan beberapa paket berbeda yang akan diinstal dan berapa banyak total ruang disk yang akan mereka gunakan. Saat diminta, ketik 'Y ' dan menyerahkannya. Setelah beberapa saat instalasi harus selesai, periksa versi PHP dengan:

user@test:~# php -v
 PHP 7.2.13-1+ubuntu16.04.1+deb.sury.org+1

Seharusnya sekarang menampilkan PHP 7.2, tetapi sekarang kita perlu mengkonfigurasi Apache untuk menggunakan versi yang lebih baru.

Mengonfigurasi Apache untuk Menggunakan PHP 7.2

Ubuntu 16.04 menggunakan beberapa perintah berbeda untuk membantu mengelola modul Apache sehingga cara menggunakan versi PHP tertentu bergantung pada modul mana yang dimuat. Anda dapat melihat daftar modul yang tersedia dengan menjalankan:

user@test:~# ls /etc/apache2/mods-available/php*
 /etc/apache2/mods-available/php7.0.conf
 /etc/apache2/mods-available/php7.0.load
 /etc/apache2/mods-available/php7.2.conf
 /etc/apache2/mods-available/php7.2.load

Anda mungkin memiliki modul lain juga, instalasi tumpukan LAMP default akan memiliki 7.0 dan instalasi 7.2 baru yang baru saja kita buat, tetapi menjalankan perintah berikutnya menunjukkan bahwa 7.0 masih aktif:

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.0.conf
/etc/apache2/mods-enabled/php7.0.load

Untuk mengalihkannya ke versi 7.2 yang lebih baru, pertama-tama nonaktifkan versi PHP yang lebih lama:

user@test:~# sudo a2dismod php7.0

Kemudian aktifkan PHP 7.2:

user@test:~# sudo a2enmod php7.2

Sebelum memulai ulang Apache, periksa sintaks konfigurasi Apache dengan menjalankan:

user@test:~# apachectl -t
Syntax OK

Jika dikatakan sintaksnya OK, maka restart Apache:

user@test:~# sudo service apache2 restart

Memverifikasi Versi PHP Apache

Sekarang untuk memeriksa pekerjaan Anda, jalankan kembali perintah sebelumnya untuk melihat modul mana yang dimuat dan seharusnya menampilkan versi PHP 7.2:

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.2.conf
/etc/apache2/mods-enabled/php7.2.load

Jika Anda tidak melihat hasil yang sama seperti yang ditunjukkan pada beberapa perintah terakhir, periksa kembali ejaan dan sintaks dari beberapa perintah terakhir dan pastikan sudo dimasukkan jika Anda tidak menjalankan sebagai pengguna root.

Kemudian untuk mengujinya di situs Anda, kami sarankan untuk membuat file phpinfo yang dapat Anda lihat di domain Anda. Ini menunjukkan versi PHP serta informasi tentang konfigurasi saat ini, variabel, dan semua modul yang ditambahkan. Buat .php . baru file di folder beranda situs Anda atau di root dokumen Apache (/var/www/html secara default) dan sertakan kode ini:

<?php phpinfo(); ?>

Kemudian jika Anda mengunjungi halaman di browser akan terlihat seperti ini:

Jika Anda memiliki situs yang sudah aktif dan berjalan pada versi PHP sebelumnya, uji sekarang dan lihat apakah ada masalah. Jika kode Anda tidak kompatibel atau menunjukkan kesalahan, Anda dapat mencoba mendiagnosis lebih lanjut atau jika Anda perlu segera mencadangkan situs, Anda dapat menurunkan versi PHP lagi dengan menjalankan a2dismod dan a2enmod perintah untuk menonaktifkan PHP 7.2 lalu mengaktifkan 7.0 atau versi mana pun sebelumnya yang Anda miliki di server, lalu restart Apache lagi.

Beberapa situs sekarang mungkin menampilkan kesalahan yang mengatakan bahwa ada modul yang hilang dan tidak dapat dijalankan, atau jika Anda sedang mengembangkan situs baru dan memiliki daftar modul yang diperlukan, maka bagian berikutnya dapat membantu Anda menambahkan modul baru.

Menambahkan Modul ke PHP 7.2

Peralihan ke PHP 7.2 tidak secara otomatis menyimpan semua modul yang sama dari versi PHP sebelumnya. Jika Anda tidak perlu membandingkan daftar dengan versi PHP sebelumnya, maka untuk menginstal modul dasar apa pun yang Anda perlukan, ketik perintah di bawah ini terlebih dahulu. Tapi jangan tekan enter, jika Anda menekan TAB kunci dua kali Anda akan mendapatkan daftar modul yang tersedia khusus untuk 7.2::

@test:~# sudo apt-get install php7.2[tab][tab]

Contoh Keluaran:
php7.2 php7.2-enchant php7.2-mbstring php7.2-snmp
php7.2-bcmath php7.2-fpm php7.2-mysql php7.2-soap
php7.2-bz2 php7.2-gd php7.2-odbc php7.2-sqlite3
php7.2-cgi php7.2-gmp php7.2-opcache php7.2-sybase
php7.2-cli php7.2-imap php7.2-pgsql php7.2-tidy
php7.2-common php7.2-interbase php7.2-phpdbg php7.2-xml
php7.2-curl php7.2-intl php7.2-pspell php7.2-xmlrpc
php7.2-dba php7.2-json php7.2-readline php7.2-xsl
php7.2-dev php7.2-ldap php7.2-recode php7.2-zip

Ini bukan daftar lengkap sehingga Anda mungkin perlu mencari cara menginstal modul lain yang mungkin Anda perlukan. Anda dapat mengetik modul yang Anda inginkan, dan Anda dapat menambahkan beberapa dalam perintah install yang sama, seperti:

user@test:~# sudo apt-get install php7.2-opcache php7.2-mbstring php-memcached

Jika Anda menyimpan daftar modul dari versi PHP sebelumnya dengan perintah sebelumnya di panduan, Anda dapat menyimpan daftar modul di PHP 7.2 dan membandingkannya dengan versi sebelumnya. Jalankan:

php -m > /tmp/7.2.modulelist.txt

Kemudian untuk membandingkannya dengan daftar yang telah dibuat sebelumnya, jalankan:

user@test:~# diff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt
15,16d14
< mysqli
< mysqlnd
21d18
< pdo_mysql
28d24
< soap
29a26
> sodium

Atau jika Anda ingin cara yang lebih visual untuk membandingkan kedua daftar, jalankan:

user@test:~# vimdiff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt

Yang akan menampilkan halaman seperti ini di terminal:

Dalam contoh ini, berbagai modul MySQL dan sabun muncul di daftar modul 7.0 di sebelah kiri tetapi hilang dari versi 7.2 di sebelah kanan, dan modul natrium ada di 7.2 tetapi tidak ada di 7.0.

Jadi untuk contoh ini, kita dapat menginstal modul yang hilang dengan:

user@test:~# sudo apt-get install php7.2-mysql php7.2-soap

Setelah menginstal itu, kami dapat menyimpan daftar modul yang diperbarui dan dapat membandingkannya lagi:

user@test:~# php -m > /tmp/7.2.modulelist.updated.txt
diff /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.updated.txt
29a30
> sodium

Hanya modul natrium yang berbeda di antara daftar modul, jadi sekarang siap untuk dikembangkan! Semoga panduan ini membantu Anda meningkatkan ke PHP 7.2! Jika Anda mengalami masalah atau memerlukan bantuan lebih lanjut dengan Server Ubuntu Web Cair Anda, beri tahu Tim Dukungan Linux kami!


Ubuntu
  1. Cara Menginstal PHP 7.4 / 7.3 / 7.2 di Ubuntu 18.04 / Ubuntu 16.04

  2. Cara Menginstal PHP 8.0 di Ubuntu 20.04 / Ubuntu 18.04

  3. Cara Menginstal Komposer di Ubuntu 20.04

  1. Cara Menginstal XCache di Ubuntu 15.04

  2. Cara Menginstal PHP 7 di Ubuntu 14.04

  3. Cara Menginstal PHP 7.3 di Ubuntu 16.04

  1. Cara Menginstal PHP 7.4 dan 8.0 Di Ubuntu 18.04 atau 20.04

  2. Cara menginstal PHP di Ubuntu Linux

  3. Cara Menginstal PHP di Ubuntu 18.04