Cara Mengubah Versi PHP di Lingkungan Hosting Anda (Panduan Lengkap)
Mengelola versi PHP Anda adalah salah satu tugas administratif paling penting bagi pemilik situs web atau pengembang. Baik Anda meningkatkan untuk memanfaatkan peningkatan kinerja terbaru, menurunkan versi untuk kompatibilitas aplikasi warisan, atau menambal kerentanan keamanan, mengetahui dengan tepat cara beralih versi PHP di berbagai lingkungan hosting adalah keterampilan penting. Panduan komprehensif ini memandu Anda melalui setiap metode yang tersedia — dari antarmuka grafis cPanel hingga alat baris perintah di VPS Hosting dan server khusus.
Daftar Isi
- Mengapa Manajemen Versi PHP Penting
- Memahami Versi PHP dan Kompatibilitas
- Metode 1: Mengubah Versi PHP melalui cPanel (MultiPHP Manager)
- Metode 2: Mengubah Versi PHP melalui .htaccess (Apache)
- Metode 3: Mengubah Versi PHP melalui Baris Perintah (VPS/Server Khusus)
- Metode 4: Mengubah Versi PHP melalui php.ini
- Cara Memverifikasi Versi PHP Aktif Anda
- Kesalahan Umum Setelah Beralih Versi PHP
- Praktik Terbaik untuk Manajemen Versi PHP
- Kesimpulan
1. Mengapa Manajemen Versi PHP Penting {#why-it-matters}
PHP memberdayakan lebih dari 77% semua situs web dengan bahasa sisi server yang diketahui, termasuk platform besar seperti WordPress, Joomla, Drupal, dan Magento. Setiap rilis PHP utama memperkenalkan perubahan signifikan:
- Peningkatan kinerja: PHP 8.x jauh lebih cepat daripada PHP 5.x atau 7.x, berkat compiler JIT (Just-In-Time).
- Patch keamanan: Versi PHP yang lebih lama akhirnya mencapai End of Life (EOL) dan tidak lagi menerima pembaruan keamanan, meninggalkan situs Anda terbuka.
- Kompatibilitas aplikasi: Beberapa plugin, tema, atau aplikasi khusus yang lebih lama ditulis untuk versi PHP tertentu dan mungkin rusak pada rilis yang lebih baru.
- Kepatuhan hosting: Banyak penyedia hosting memberlakukan persyaratan versi PHP minimum untuk mempertahankan standar keamanan server.
Gagal mengelola versi PHP Anda secara proaktif dapat menghasilkan fungsionalitas yang rusak, pelanggaran keamanan, atau downtime situs web yang jelas. Memahami cara mengontrol pengaturan ini — terlepas dari jenis hosting Anda — tidak dapat dinegosiasikan bagi administrator web yang serius.
2. Memahami Versi PHP dan Kompatibilitas {#understanding-versions}
Sebelum membuat perubahan apa pun, penting untuk memahami siklus rilis PHP dan bagaimana versi terstruktur.
Penomoran Versi PHP
PHP mengikuti skema versioning MAJOR.MINOR.PATCH:
| Komponen | Contoh | Arti |
|---|---|---|
| Major | 8 | Perubahan arsitektur signifikan, kemungkinan perubahan yang merusak |
| Minor | 8.2 | Fitur baru, peningkatan yang kompatibel ke belakang |
| Patch | 8.2.10 | Perbaikan bug dan patch keamanan saja |
Siklus Dukungan PHP
Setiap versi minor PHP menerima:
- Dukungan aktif selama sekitar 2 tahun (perbaikan bug + patch keamanan)
- Dukungan khusus keamanan selama 1 tahun tambahan
- End of Life (EOL) setelah itu tidak ada patch yang dirilis
Versi PHP yang Didukung Saat Ini (per 2024–2025)
| Versi PHP | Status | Catatan |
|---|---|---|
| PHP 8.3 | Dukungan Aktif | Rilis stabil terbaru |
| PHP 8.2 | Dukungan Aktif | Direkomendasikan untuk sebagian besar aplikasi |
| PHP 8.1 | Keamanan Saja | Masih banyak digunakan |
| PHP 8.0 | EOL | Hindari — tidak ada patch keamanan |
| PHP 7.4 | EOL | Dukungan warisan saja |
| PHP 7.3 dan di bawah | EOL | Sangat tidak disarankan |
> Aturan praktis: Selalu jalankan versi PHP tertinggi yang secara resmi didukung aplikasi Anda. Jika CMS atau framework Anda mendukung PHP 8.2, tidak ada alasan untuk menjalankan PHP 7.4.
3. Metode 1: Mengubah Versi PHP melalui cPanel (MultiPHP Manager) {#cpanel-method}
cPanel adalah panel kontrol hosting yang paling banyak digunakan, dan menyediakan dua alat bawaan untuk manajemen versi PHP: MultiPHP Manager (server-wide atau per-domain) dan MultiPHP INI Editor (untuk penyesuaian halus pengaturan PHP). Jika Anda menggunakan VPS dengan cPanel, kedua alat tersedia untuk Anda.
Langkah 1: Masuk ke cPanel
- Buka browser Anda dan navigasikan ke URL login cPanel Anda:
https://yourdomain.com:2083 (aman, direkomendasikan)
https://yourdomain.com/cpanelhttps://your-server-ip:2083- Masukkan nama pengguna cPanel dan kata sandi Anda.
- Klik Masuk.
Langkah 2: Buka MultiPHP Manager
- Di dasbor cPanel, gulir ke bagian Software.
- Klik MultiPHP Manager.
> Alternatif: Beberapa pengaturan cPanel memberi label ini sebagai Pilih Versi PHP, Konfigurasi PHP, atau Pemilih PHP (yang terakhir umum dengan hosting bersama berbasis CloudLinux). Antarmukanya mungkin sedikit berbeda, tetapi prosesnya sama.
Langkah 3: Pilih Domain dan Versi PHP Anda
Di antarmuka MultiPHP Manager:
- Anda akan melihat daftar semua domain dan subdomain yang dihosting di akun Anda.
- Centang kotak di sebelah domain yang ingin Anda ubah.
- Dari dropdown Versi PHP di bagian atas halaman, pilih versi PHP yang diinginkan (misalnya,
PHP 8.2). - Klik Terapkan.
> Penting: Jika Anda berada di akun hosting bersama, versi PHP yang tersedia ditentukan oleh penyedia hosting Anda. Jika Anda memerlukan versi yang tidak tercantum, hubungi tim dukungan host Anda atau pertimbangkan untuk meningkatkan ke paket VPS Hosting di mana Anda memiliki kontrol penuh atas versi PHP yang diinstal.
Langkah 4: (Opsional) Sesuaikan Pengaturan PHP melalui MultiPHP INI Editor
Setelah beralih versi, Anda mungkin perlu menyesuaikan nilai konfigurasi PHP:
- Kembali ke bagian Software di cPanel.
- Klik MultiPHP INI Editor.
- Pilih domain Anda dari dropdown.
- Ubah nilai seperti:
memory_limit (misalnya, 256M)
upload_max_filesize (misalnya, 64M)
max_execution_time (misalnya, 300)
post_max_size (misalnya, 64M)
Klik Terapkan untuk menyimpan perubahan.
Langkah 5: Verifikasi Perubahan
Buat file uji untuk mengonfirmasi versi PHP aktif (lihat Bagian 7 untuk instruksi lengkap).
4. Metode 2: Mengubah Versi PHP melalui .htaccess (Apache) {#htaccess-method}
Jika lingkungan hosting Anda menjalankan Apache tetapi tidak menyediakan pemilih PHP grafis, Anda dapat mengontrol versi PHP langsung melalui file .htaccess Anda. Metode ini sangat berguna di paket Hosting Web Bersama di mana akses tingkat server dibatasi.
Cara Kerjanya
Apache menggunakan handler untuk menentukan bagaimana file .php diproses. Dengan menentukan handler khusus di .htaccess, Anda menginstruksikan Apache untuk menggunakan versi PHP tertentu untuk situs Anda.
Langkah 1: Akses File .htaccess Anda
Anda dapat mengedit .htaccess melalui:
Manajer File cPanel: Navigasikan ke public_html, temukan .htaccess, klik kanan, dan pilih Edit.
Klien FTP/SFTP: Terhubung ke server Anda dan navigasikan ke root web Anda (biasanya public_html atau www).
Baris perintah SSH: nano /home/username/public_html/.htaccess> Catatan: .htaccess adalah file tersembunyi. Di klien FTP Anda, aktifkan “Tampilkan File Tersembunyi.” Di Manajer File cPanel, centang “Tampilkan File Tersembunyi (dotfiles)” di pengaturan kanan atas.
Langkah 2: Tambahkan Direktif Handler PHP
Tambahkan salah satu baris berikut ke file .htaccess Anda, tergantung pada konvensi penamaan handler PHP server Anda:
Untuk PHP 8.2:
AddHandler application/x-httpd-php82 .phpUntuk PHP 8.1:
AddHandler application/x-httpd-php81 .phpUntuk PHP 7.4 (warisan):
AddHandler application/x-httpd-php74 .phpSintaks alternatif (digunakan di beberapa host):
# Using suPHP or FastCGI
Action php-cgi /cgi-bin/php82
AddHandler php-cgi .php> Penting: Nama handler yang tepat (x-httpd-php82, x-httpd-php81, dll.) tergantung pada cara penyedia hosting Anda telah mengonfigurasi PHP di server mereka. Jika yang di atas tidak berhasil, periksa dokumentasi host Anda atau hubungi dukungan untuk nama handler yang benar.
Langkah 3: Simpan dan Uji
Simpan file .htaccess dan uji situs Anda. Jika Anda melihat 500 Internal Server Error, nama handler mungkin salah — hapus baris dan coba sintaks alternatif.
5. Metode 3: Mengubah Versi PHP melalui Baris Perintah (VPS/Server Khusus) {#cli-method}
Jika Anda mengelola Server Khusus Anda sendiri atau VPS dengan akses root, Anda memiliki kontrol penuh atas instalasi PHP dan peralihan versi. Ini adalah metode yang paling kuat dan fleksibel.
Prasyarat
- Akses root atau sudo ke server Anda
- Klien SSH (Terminal di macOS/Linux, PuTTY atau Windows Terminal di Windows)
- Keakraban dasar dengan operasi baris perintah Linux
Ubuntu / Debian — Menggunakan update-alternatives
Sistem berbasis Ubuntu dan Debian menggunakan sistem update-alternatives untuk mengelola beberapa versi PHP secara bersamaan.
#### Langkah 1: Tambahkan Repositori PHP Ondřej Surý
PPA ini menyediakan beberapa versi PHP untuk Ubuntu/Debian:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update#### Langkah 2: Instal Versi PHP yang Diinginkan
# Install PHP 8.2 and common extensions
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl
php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
# Install PHP 8.1 if needed
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql#### Langkah 3: Alihkan Versi PHP Default (CLI)
# View all registered PHP alternatives
sudo update-alternatives --list php
# Switch to PHP 8.2
sudo update-alternatives --set php /usr/bin/php8.2
# Or use the interactive selector
sudo update-alternatives --config phpPemilih interaktif akan menampilkan sesuatu seperti:
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.1 81 manual mode
3 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:Masukkan nomor yang sesuai dengan versi yang diinginkan dan tekan Enter.
#### Langkah 4: Alihkan Versi PHP untuk Apache (mod_php)
# Disable current PHP module (e.g., PHP 8.1)
sudo a2dismod php8.1
# Enable new PHP module (e.g., PHP 8.2)
sudo a2enmod php8.2
# Restart Apache
sudo systemctl restart apache2#### Langkah 5: Alihkan Versi PHP untuk Nginx (PHP-FPM)
Untuk Nginx, PHP ditangani melalui PHP-FPM. Perbarui blok server Nginx Anda untuk menunjuk ke soket FPM yang benar:
# In your Nginx server block configuration
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Kemudian mulai ulang PHP-FPM dan Nginx:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux — Menggunakan Repositori SCL atau Remi
#### Opsi A: Menggunakan Software Collections (SCL) — CentOS 7
# Install the SCL repository
sudo yum install -y centos-release-scl
# Install PHP 7.4 via SCL
sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
# Enable PHP 7.4 for the current session
sudo scl enable rh-php74 bash
# Verify
php --version> Catatan: Perubahan SCL spesifik sesi. Untuk membuatnya permanen bagi pengguna, tambahkan source /opt/rh/rh-php74/enable ke ~/.bashrc.
#### Opsi B: Menggunakan Repositori Remi — CentOS 7/8, AlmaLinux, Rocky Linux
# Install EPEL and Remi repositories
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # For RHEL 8/AlmaLinux 8
# List available PHP streams
sudo dnf module list php
# Reset current PHP module
sudo dnf module reset php
# Enable PHP 8.2 stream
sudo dnf module enable php:remi-8.2
# Install PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
# Verify
php --versionPeralihan PHP untuk Situs Individual (Versi PHP Per-Situs)
Di server yang menjalankan beberapa situs web, Anda sering memerlukan versi PHP yang berbeda per situs. Pendekatan paling bersih adalah menjalankan beberapa pool PHP-FPM:
# Start PHP-FPM for multiple versions
sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl start php8.2-fpmKemudian konfigurasikan setiap host virtual Nginx untuk menggunakan soket FPM yang berbeda:
# Site A — PHP 8.2
server {
server_name site-a.com;
root /var/www/site-a;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Site B — PHP 7.4 (legacy application)
server {
server_name site-b.com;
root /var/www/site-b;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}6. Metode 4: Mengubah Versi PHP melalui php.ini {#phpini-method}
Di beberapa lingkungan hosting, khususnya yang menggunakan handler PHP CGI atau FastCGI, Anda dapat mempengaruhi perilaku PHP — dan terkadang bahkan versi — melalui file php.ini khusus yang ditempatkan di direktori root situs web Anda.
Membuat php.ini Khusus
- Buat file bernama
php.inidi direktori root situs web Anda (public_html). - Tambahkan direktif konfigurasi Anda:
; Custom PHP configuration
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = "UTC"> Catatan: Metode ini mengontrol pengaturan PHP *settings*, bukan versi PHP *version* itu sendiri. Pemilihan versi melalui php.ini hanya mungkin di pengaturan hosting tertentu. Untuk kontrol versi penuh, gunakan cPanel, .htaccess, atau metode baris perintah yang dijelaskan di atas.
7. Cara Memverifikasi Versi PHP Aktif Anda {#verify}
Setelah membuat perubahan apa pun, selalu verifikasi bahwa versi PHP yang benar aktif. Ada beberapa cara untuk melakukan ini:
Metode A: Buat Halaman Uji phpinfo()
- Buat file baru bernama
phpinfo.phpdi direktori root web Anda (public_html). - Tambahkan konten berikut:
<?php
phpinfo();
?>- Navigasikan ke
https://yourdomain.com/phpinfo.phpdi browser Anda. - Halaman akan menampilkan informasi konfigurasi PHP yang komprehensif. Versi PHP ditampilkan di bagian paling atas.
> Peringatan Keamanan: Hapus file ini segera setelah pengujian. Output phpinfo() mengungkapkan detail konfigurasi server sensitif yang dapat membantu penyerang.
Metode B: Periksa melalui Baris Perintah (SSH)
php --version
# or
php -vOutput yang diharapkan:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:12:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend TechnologiesMetode C: Periksa melalui Skrip PHP Sederhana
Untuk pemeriksaan yang kurang verbose, gunakan skrip minimal ini sebagai pengganti phpinfo() penuh:
<?php
echo 'PHP Version: ' . PHP_VERSION;
echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
?>Metode D: Periksa melalui Admin WordPress (untuk Situs WordPress)
Di dasbor WordPress Anda:
- Buka Tools → Site Health.
- Klik tab Info.
- Perluas bagian Server.
- Cari Versi PHP.
8. Kesalahan Umum Setelah Beralih Versi PHP {#common-errors}
Beralih versi PHP terkadang dapat menyebabkan masalah. Berikut adalah masalah paling umum dan cara menyelesaikannya:
Kesalahan 1: White Screen of Death (WSOD) atau Halaman Kosong
Penyebab: Plugin, tema, atau kode khusus menggunakan sintaks atau fungsi yang tidak kompatibel dengan versi PHP baru.
Solusi:
- Aktifkan mode debug WordPress dengan menambahkan ke
wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Periksa
/wp-content/debug.loguntuk pesan kesalahan spesifik. - Nonaktifkan semua plugin dan beralih ke tema default untuk mengisolasi masalah.
Kesalahan 2: 500 Internal Server Error
Penyebab: Sering disebabkan oleh handler PHP yang salah di .htaccess, atau ekstensi PHP yang tidak diinstal untuk versi baru.
Solusi:
- Hapus atau perbaiki direktif
AddHandlerdi.htaccess. - Periksa log kesalahan server Anda:
tail -f /var/log/apache2/error.logatautail -f /var/log/nginx/error.log. - Pastikan ekstensi PHP yang diperlukan diinstal untuk versi baru.
Kesalahan 3: “Call to undefined function” atau “Class not found”
Penyebab: Ekstensi PHP yang diperlukan oleh aplikasi Anda (misalnya, php-gd, php-mbstring, php-xml) tidak diinstal untuk versi PHP baru.
Solusi:
# Ubuntu/Debian — install missing extensions for PHP 8.2
sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
# Restart web server
sudo systemctl restart apache2 # or nginxKesalahan 4: Peringatan Fungsi Usang
Penyebab: Kode Anda menggunakan fungsi yang sudah usang di versi PHP yang lebih lama dan dihapus di versi yang lebih baru (misalnya, fungsi mysql_* dihapus di PHP 7.0).
Solusi:
- Perbarui kode atau plugin Anda untuk menggunakan padanan modern (misalnya,
mysqli_*atau PDO). - Jika perubahan kode segera tidak mungkin, pertimbangkan untuk tetap menggunakan versi PHP yang kompatibel sementara Anda merencanakan upgrade.
Kesalahan 5: Versi PHP Tidak Berubah Meskipun Mengikuti Langkah-Langkah
Penyebab: Beberapa konfigurasi PHP mungkin berlaku (misalnya, CLI vs. server web), atau cache melayani respons lama.
Solusi:
- Hapus cache browser Anda dan cache sisi server apa pun (OPcache, Redis, Varnish).
- Mulai ulang server web Anda:
sudo systemctl restart apache2atausudo systemctl restart nginx. - Konfirmasi Anda mengedit file
.htaccessatau file konfigurasi yang benar untuk domain yang tepat.
9. Praktik Terbaik untuk Manajemen Versi PHP {#best-practices}
Ikuti panduan ini untuk mempertahankan lingkungan PHP yang sehat, aman, dan berkinerja:
1. Selalu Uji di Lingkungan Staging Terlebih Dahulu
Jangan pernah beralih versi PHP langsung di situs produksi langsung. Siapkan lingkungan staging — baik subdomain atau server terpisah — dan uji aplikasi Anda secara menyeluruh sebelum menerapkan perubahan ke produksi.
