Cara Mengubah Versi PHP di Lingkungan Hosting Anda (Panduan Lengkap)
Mengelola versi PHP Anda adalah salah satu tugas administratif paling kritis bagi pemilik situs web atau pengembang mana pun. Baik Anda meningkatkan untuk memanfaatkan peningkatan performa terbaru, menurunkan versi untuk kompatibilitas aplikasi legacy, atau menambal kerentanan keamanan, mengetahui dengan tepat cara beralih versi PHP di berbagai lingkungan hosting adalah keterampilan yang penting. Panduan komprehensif ini memandu Anda melalui setiap metode yang tersedia — dari antarmuka grafis cPanel hingga alat baris perintah pada VPS Hosting dan server dedicated.
1. Mengapa Manajemen Versi PHP Penting
PHP mendukung lebih dari 77% dari semua website dengan bahasa server-side yang diketahui, termasuk platform besar seperti WordPress, Joomla, Drupal, dan Magento. Setiap rilis PHP utama memperkenalkan perubahan signifikan:
- Peningkatan performa: PHP 8.x jauh lebih cepat daripada PHP 5.x atau 7.x, berkat kompiler JIT (Just-In-Time).
- Patch keamanan: Versi PHP yang lebih lama pada akhirnya mencapai End of Life (EOL) dan tidak lagi menerima pembaruan keamanan, meninggalkan situs Anda terekspos.
- Kompatibilitas aplikasi: Beberapa plugin, tema, atau aplikasi kustom 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 website yang nyata. Memahami cara mengontrol pengaturan ini — terlepas dari jenis hosting Anda — adalah hal yang tidak dapat ditawar-tawar bagi administrator web yang serius.
2. Memahami Versi PHP dan Kompatibilitas
Sebelum melakukan perubahan apa pun, penting untuk memahami siklus rilis PHP dan bagaimana versi disusun.
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
- Akhir Hidup (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 bawahnya | 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 adalah control panel 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 fine-tuning pengaturan PHP). Jika Anda menggunakan VPS dengan cPanel, kedua alat tersebut 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 dashboard cPanel, gulir ke bagian Software.
- Klik pada MultiPHP Manager.
> Alternatif: Beberapa setup cPanel melabeli ini sebagai Pilih Versi PHP, Konfigurasi PHP, atau Pemilih PHP (yang terakhir umum dengan shared hosting berbasis CloudLinux). Antarmuka 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 menggunakan akun shared hosting, versi PHP yang tersedia ditentukan oleh penyedia hosting Anda. Jika Anda memerlukan versi yang tidak tercantum, hubungi tim dukungan host Anda atau pertimbangkan untuk upgrade 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 yang aktif (lihat Bagian 7 untuk instruksi lengkap).
4. Method 2: Mengubah Versi PHP via .htaccess (Apache)
Jika lingkungan hosting Anda menjalankan Apache tetapi tidak menyediakan pemilih PHP grafis, Anda dapat mengontrol versi PHP secara langsung melalui file .htaccess Anda. Metode ini sangat berguna pada paket Shared Web Hosting 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:
cPanel File Manager: Navigasi ke public_html, temukan .htaccess, klik kanan, dan pilih Edit.
Klien FTP/SFTP: Hubungkan ke server Anda dan navigasi 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 “Show Hidden Files.” Di cPanel File Manager, centang “Show Hidden Files (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 (legacy):
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 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 tidak benar — hapus baris dan coba sintaks alternatif.
5. Metode 3: Mengubah Versi PHP melalui Command Line (VPS/Dedicated Servers)
Jika Anda mengelola Dedicated Servers Anda sendiri atau VPS dengan akses root, Anda memiliki kontrol penuh atas instalasi PHP dan peralihan versi. Ini adalah metode yang paling powerful dan fleksibel.
Prasyarat
- Akses root atau sudo ke server Anda
- SSH client (Terminal di macOS/Linux, PuTTY atau Windows Terminal di Windows)
- Keakraban dasar dengan operasi command-line 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 Repository 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 updateLangkah 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-mysqlLangkah 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 Anda inginkan 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 apache2Langkah 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 restart PHP-FPM dan Nginx:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux — Menggunakan SCL atau Repository 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 bersifat spesifik sesi. Untuk membuatnya permanen bagi pengguna, tambahkan source /opt/rh/rh-php74/enable ke ~/.bashrc.
Opsi B: Menggunakan Repository 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 --versionMengalihkan PHP untuk Situs Individual (Versi PHP Per-Situs)
Di server yang menjalankan beberapa situs web, Anda sering kali memerlukan versi PHP yang berbeda per situs. Pendekatan yang 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 virtual host 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. Method 4: Mengubah Versi PHP melalui php.ini
Di beberapa lingkungan hosting, khususnya yang menggunakan penanganan PHP CGI atau FastCGI, Anda dapat mempengaruhi perilaku PHP — dan kadang-kadang bahkan versinya — melalui file php.ini khusus yang ditempatkan di direktori root website Anda.
Membuat php.ini Khusus
- Buat file bernama
php.inidi direktori root website 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, bukan *versi* PHP itu sendiri. Pemilihan versi melalui php.ini hanya mungkin pada setup hosting tertentu. Untuk kontrol versi penuh, gunakan cPanel, .htaccess, atau metode command-line yang dijelaskan di atas.
7. Cara Memverifikasi Versi PHP Aktif Anda
Setelah melakukan 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 yang sensitif yang dapat membantu penyerang.
Metode B: Periksa melalui Command Line (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() lengkap:
<?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 PHP version.
8. Kesalahan Umum Setelah Beralih Versi PHP
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 kustom 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 penanganan 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 yang Tidak Direkomendasikan
Penyebab: Kode Anda menggunakan fungsi yang tidak direkomendasikan 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 memungkinkan, 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. web server), atau cache melayani respons lama.
Solusi:
- Hapus cache browser dan cache sisi server apa pun (OPcache, Redis, Varnish).
- Mulai ulang web server Anda:
sudo systemctl restart apache2atausudo systemctl restart nginx. - Konfirmasi Anda mengedit
.htaccessyang benar atau file konfigurasi untuk domain yang tepat.
9. Best Practices for PHP Version Management
Ikuti panduan ini untuk mempertahankan lingkungan PHP yang sehat, aman, dan berkinerja tinggi:
1. Selalu Uji di Lingkungan Staging Terlebih Dahulu
Jangan pernah beralih versi PHP secara langsung di situs produksi langsung. Siapkan lingkungan staging — baik subdomain atau server terpisah — dan uji aplikasi Anda secara menyeluruh sebelum menerapkan perubahan ke produksi.
2. Jaga PHP Tetap Diperbarui
Berlangganan pengumuman keamanan resmi PHP dan rencanakan upgrade sebelum versi saat ini mencapai End of Life. Menjalankan versi PHP EOL adalah salah satu penyebab paling umum dari kompromi situs web.
3. Audit Plugin dan Dependensi Anda Sebelum Upgrade
Sebelum upgrade PHP, periksa kompatibilitas:
- Semua plugin dan tema CMS yang terinstal
- Dependensi Composer (
composer.json) - Kode aplikasi kustom
Gunakan alat seperti PHPCompatibility (ruleset PHP_CodeSniffer) untuk memindai basis kode Anda mencari masalah kompatibilitas.
4. Jaga Ekstensi PHP Tetap Sinkron
Saat beralih versi PHP, selalu instal ulang semua ekstensi yang diperlukan untuk versi baru. Ekstensi yang hilang adalah penyebab paling umum dari kesalahan pasca-upgrade.
5. Gunakan Version Control untuk File Konfigurasi
Simpan file .htaccess, php.ini, dan konfigurasi server Anda di repositori Git. Ini memudahkan untuk mengembalikan perubahan jika ada yang salah.
6. Monitor Setelah Beralih
Setelah mengubah versi PHP, monitor:
- Log kesalahan aplikasi
- Log kesalahan server (
/var/log/apache2/error.log,/var/log/nginx/error.log) - Metrik kinerja aplikasi
- Peringatan monitoring uptime
7. Pilih Hosting yang Tepat untuk Fleksibilitas PHP
Jika Anda merasa terus-menerus dibatasi oleh opsi PHP lingkungan hosting Anda, mungkin sudah saatnya untuk upgrade. Paket Shared Web Hosting menawarkan serangkaian versi PHP yang dikurasi dan dikelola oleh penyedia, sementara VPS Hosting memberi Anda kebebasan penuh untuk menginstal, mengonfigurasi, dan beralih versi PHP apa pun kapan saja. Untuk kontrol tingkat enterprise dan kinerja, Dedicated Servers menyediakan fleksibilitas tertinggi.
10. Kesimpulan
Mengubah versi PHP Anda adalah tugas manajemen hosting fundamental yang secara langsung mempengaruhi keamanan, performa, dan kompatibilitas website Anda. Baik Anda menggunakan MultiPHP Manager cPanel, mengedit direktif .htaccess, atau mengelola instalasi PHP melalui command line di VPS atau dedicated server, prinsip kuncinya tetap sama: uji sebelum Anda deploy, verifikasi setelah Anda mengubah, dan selalu pertahankan versi PHP Anda dalam siklus hidup yang aktif didukung.
Berikut adalah ringkasan cepat dari metode yang dibahas:
| Metode | Terbaik Untuk | Akses yang Diperlukan |
|---|---|---|
| cPanel MultiPHP Manager | Shared hosting, cPanel VPS | Login cPanel |
| Direktif .htaccess | Shared hosting berbasis Apache | File Manager / FTP |
update-alternatives (Ubuntu/Debian) | VPS, dedicated servers | SSH root/sudo |
| Repository SCL / Remi (CentOS/RHEL) | VPS, dedicated servers | SSH root/sudo |
| Custom php.ini | Lingkungan CGI/FastCGI | File Manager / FTP |
Jika Anda mencari lingkungan hosting yang membuat manajemen versi PHP mudah dan memberi Anda kontrol yang Anda butuhkan, jelajahi paket VPS Hosting AlexHost — menampilkan akses root penuh, beberapa distribusi Linux, dan fleksibilitas untuk menjalankan versi PHP apa pun yang aplikasi Anda butuhkan. Anda juga dapat menjelajahi rangkaian Panel Kontrol VPS kami untuk menemukan antarmuka manajemen yang paling sesuai dengan alur kerja Anda.
Tetap proaktif dengan pembaruan PHP Anda, dan website Anda akan tetap cepat, aman, dan kompatibel selama bertahun-tahun yang akan datang.
untuk semua layanan hosting