📑 Daftar Isi
- Pendahuluan
- Apa Itu CloudLinux & Alt-PHP?
- Persiapan Sebelum Update
- Command Update Alt-PHP
- Verifikasi Setelah Update
- Command #1: Cek Versi PHP Setelah Update
- Contoh Output
- Command #2: Cek Ekstensi PHP
- Command #3: Test PHP Execution
- Command #4: Restart Service
- Cara User Mengupgrade PHP dari cPanel
- Langkah 1: Buka cPanel → Select PHP Version
- Langkah 2: Pilih Versi PHP yang Diinginkan
- Langkah 3: Aktifkan Ekstensi yang Dibutuhkan
- Langkah 4: Test Website
- Troubleshooting: Update Gagal
- Masalah 1: Repository Tidak Bisa Diakses
- Masalah 2: Konflik Package
- Masalah 3: PHP Tidak Berfungsi Setelah Update
- Pro Tips: Pencegahan Masalah Update PHP
- FAQ
- Apakah update Alt-PHP akan menghapus versi PHP yang sudah ada?
- Apakah aman menjalankan yum groupupdate alt-php* di production?
- Bagaimana cara mengupdate hanya versi PHP tertentu?
- Apakah user perlu melakukan sesuatu setelah server update Alt-PHP?
- Related Issues
- Kesimpulan
Pendahuluan
Minggu lalu saya dapat email dari client: “Website saya error setelah upgrade PHP dari cPanel. Yang muncul kosong — tidak ada error, tidak ada apa-apa. Cuma halaman putih.” Setelah saya cek, ternyata masalahnya bukan di kode website-nya, tapi di PHP version yang belum kompatibel dengan beberapa library yang dipakai. Client tersebut mengupgrade PHP dari versi 7.4 ke 8.2 menggunakan fitur cPanel, tapi tidak melakukan update pada versi Alt-PHP di CloudLinux terlebih dahulu. Akibatnya, PHP 8.2 yang aktif di cPanel tidak sesuai dengan library yang tersedia di server.
Dari pengalaman itu, saya belajar satu hal penting: update PHP di CloudLinux itu harus dilakukan secara server-wide, bukan hanya dari cPanel. Kamu perlu update seluruh group Alt-PHP di server terlebih dahulu, baru kemudian mengizinkan user untuk mengupgrade versi PHP dari cPanel. Kalau kamu hanya update dari cPanel tanpa update Alt-PHP di server, kamu akan mendapatkan masalah seperti yang saya sebutkan di atas — white screen, error tak terduga, atau bahkan PHP crash.
Di artikel ini saya akan tunjukkan cara update PHP di CloudLinux dengan benar menggunakan perintah yum groupupdate alt-php*, mulai dari persiapan sampai verifikasi. Semua command di bawah sudah saya pakai berkali-kali di production server dan terbukti aman.
Apa Itu CloudLinux & Alt-PHP?
Sebelum masuk ke command update, penting untuk memahami apa itu CloudLinux dan Alt-PHP.
CloudLinux
CloudLinux adalah sistem operasi berbasis CentOS/RHEL yang dirancang khusus untuk shared hosting. Fitur utamanya adalah LVE (Lightweight Virtual Environment) yang membatasi resource (CPU, RAM, I/O) per akun hosting. Ini mencegah satu website yang load-nya tinggi mempengaruhi website lain di server yang sama.
Alt-PHP
Alt-PHP (Alternatif PHP) adalah sistem PHP yang dikembangkan oleh CloudLinux untuk memberikan fleksibilitas lebih dalam mengelola versi PHP di server shared hosting. Dengan Alt-PHP, kamu bisa:
- Menyediakan beberapa versi PHP secara bersamaan (PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3)
- Memungkinkan user memilih versi PHP dari cPanel
- Memberikan isolasi PHP per akun — setiap akun bisa pakai versi PHP yang berbeda tanpa konflik
- Mengatur PHP options (memory_limit, upload_max_filesize, dll) per versi
Kenapa Harus Update Alt-PHP?
Alt-PHP perlu di-update secara berkala karena:
- Patch keamanan — setiap update Alt-PHP biasanya menyertakan patch keamanan untuk PHP versi tersebut
- Bug fix — perbaikan bug yang bisa mempengaruhi stabilitas PHP
- Versi PHP baru — CloudLinux sering menambahkan versi PHP baru (misalnya PHP 8.3) melalui update Alt-PHP
- Kompatibilitas — update memastikan library dan ekstensi PHP tetap kompatibel dengan versi terbaru
Persiapan Sebelum Update
⚠️ PERINGATAN KEAMANAN: Backup Dulu!
Sebelum melakukan update Alt-PHP, WAJIB backup dulu. Meskipun update Alt-PHP jarang menyebabkan masalah, lebih baik waspada daripada menyesal.
# Backup konfigurasi PHP yang ada
cp -r /opt/alt/php* /tmp/backup-php-$(date +%Y%m%d-%H%M)/ 2>/dev/null
# Backup konfigurasi php.ini untuk semua versi
for ver in $(ls /opt/alt/ | grep php); do
cp /opt/alt/$ver/etc/php.ini /tmp/backup-php-ini-$ver-$(date +%Y%m%d-%H%M).bak 2>/dev/null
done
# Backup list package yang terinstall
rpm -qa | grep alt-php > /tmp/alt-php-packages-$(date +%Y%m%d-%H%M).txt
Verifikasi backup berhasil:
ls -lh /tmp/backup-php-*
ls -lh /tmp/backup-php-ini-*
wc -l /tmp/alt-php-packages-*.txt
Periksa Versi PHP Saat Ini
Sebelum update, catat versi PHP yang saat ini terinstall di server:
# Cek versi PHP default server
php -v
# Cek versi Alt-PHP yang terinstall
rpm -qa | grep alt-php | sort
# Cek versi PHP yang tersedia di CloudLinux repo
yum list available alt-php* | head -20
Periksa Repository CloudLinux
Pastikan repository CloudLinux aktif dan bisa diakses:
# Cek status repository
yum repolist | grep cloudlinux
# Cek koneksi ke repository
yum clean all
yum makecache
Jika repository tidak bisa diakses, update tidak akan berhasil. Pastikan license CloudLinux masih aktif dan server bisa terhubung ke repository CloudLinux.
Command Update Alt-PHP
Update Semua Versi PHP Sekaligus
Command utama untuk update Alt-PHP di CloudLinux adalah:
yum groupupdate alt-php*
Command ini akan mengupdate semua group Alt-PHP yang terinstall di server — termasuk PHP 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, dan versi lain yang aktif di repository.
Penjelasan Command
-
yum— Package manager untuk Red Hat/CentOS/CloudLinux. Digunakan untuk menginstall, mengupdate, dan menghapus package di sistem. -
groupupdate— Perintah untuk mengupdate seluruh group package sekaligus. Berbeda dariyum updateyang mengupdate per-package,groupupdatememastikan semua package dalam satu group diupdate secara konsisten. -
alt-php*— Wildcard untuk semua group Alt-PHP yang tersedia. Ini termasukalt-php56,alt-php70,alt-php71,alt-php72,alt-php73,alt-php74,alt-php80,alt-php81,alt-php82, dan versi lain yang tersedia di repository CloudLinux.
Contoh Output
Loaded plugins: fastestmirror, rhnplugin, versionlock
Loading mirror speeds from cached hostfile
cloudlinux-x86_64-server-7 | 2.8 kB 00:00:00
cloudlinux-x86_64-updates | 2.9 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package alt-php74-php-common.x86_64 0:7.4.33-3.el7 will be updated
---> Package alt-php74-php-common.x86_64 0:7.4.33-4.el7 will be an update
---> Package alt-php80-php-common.x86_64 0:8.0.27-3.el7 will be updated
---> Package alt-php80-php-common.x86_64 0:8.0.28-1.el7 will be an update
---> Package alt-php81-php-common.x86_64 0:8.1.16-3.el7 will be updated
---> Package alt-php81-php-common.x86_64 0:8.1.17-1.el7 will be an update
---> Package alt-php82-php-common.x86_64 0:8.2.3-3.el7 will be updated
---> Package alt-php82-php-common.x86_64 0:8.2.4-1.el7 will be an update
...
Complete!
Dari output di atas, kita bisa lihat bahwa beberapa versi PHP diupdate: PHP 7.4 dari 7.4.33-3 ke 7.4.33-4, PHP 8.0 dari 8.0.27-3 ke 8.0.28-1, PHP 8.1 dari 8.1.16-3 ke 8.1.17-1, dan PHP 8.2 dari 8.2.3-3 ke 8.2.4-1.
Update Versi PHP Tertentu Saja
Jika kamu hanya ingin mengupdate versi PHP tertentu (misalnya hanya PHP 8.2), gunakan command ini:
# Update hanya PHP 8.2
yum groupupdate alt-php82
# Update PHP 8.1 dan 8.2 saja
yum groupupdate alt-php81 alt-php82
Verifikasi Setelah Update
Command #1: Cek Versi PHP Setelah Update
Setelah update selesai, verifikasi bahwa update berhasil dengan mengecek versi PHP yang terinstall:
# Cek versi PHP default server
php -v
# Cek semua versi Alt-PHP yang terinstall
for ver in $(ls /opt/alt/ | grep php); do
echo -n "$ver: "
/opt/alt/$ver/bin/php -v | head -1
done
Contoh Output
PHP 7.4.33 (cli) (built: Jan 13 2024 08:23:11) ( NTS )
alt-php56: PHP 5.6.40 (cli) (built: Jan 10 2019 08:23:11) ( NTS )
alt-php70: PHP 7.0.33 (cli) (built: Jan 10 2019 08:23:11) ( NTS )
alt-php71: PHP 7.1.33 (cli) (built: Jan 13 2024 08:23:11) ( NTS )
alt-php72: PHP 7.2.34 (cli) (built: Jan 13 2024 08:23:11) ( NTS )
alt-php73: PHP 7.3.33 (cli) (built: Jan 13 2024 08:23:11) ( NTS )
alt-php74: PHP 7.4.33 (cli) (built: Jan 13 2024 08:23:11) ( NTS )
alt-php80: PHP 8.0.28 (cli) (built: Feb 14 2024 08:23:11) ( NTS )
alt-php81: PHP 8.1.17 (cli) (built: Feb 14 2024 08:23:11) ( NTS )
alt-php82: PHP 8.2.4 (cli) (built: Feb 14 2024 08:23:11) ( NTS )
Perhatikan bahwa PHP 8.0, 8.1, dan 8.2 sudah diupdate ke versi terbaru (8.0.28, 8.1.17, 8.2.4). Versi lain (5.6, 7.0, 7.1, 7.2, 7.3, 7.4) tetap karena memang tidak ada update baru untuk versi-versi tersebut.
Command #2: Cek Ekstensi PHP
Verifikasi bahwa ekstensi PHP masih berfungsi setelah update:
# Cek ekstensi yang terload
php -m | sort
# Cek ekstensi untuk versi PHP tertentu
/opt/alt/php82/bin/php -m | sort
Command #3: Test PHP Execution
Jalankan test sederhana untuk memastikan PHP bisa mengeksekusi script:
# Test PHP execution
php -r "echo 'PHP is working! Version: ' . PHP_VERSION . PHP_EOL;"
# Test untuk setiap versi Alt-PHP
for ver in php74 php80 php81 php82; do
echo -n "$ver: "
/opt/alt/$ver/bin/php -r "echo PHP_VERSION;" 2>&1
echo
done
Command #4: Restart Service
Setelah update Alt-PHP, kamu perlu restart service yang menggunakan PHP agar perubahan diterapkan:
# Restart LiteSpeed/LSAPI (jika menggunakan LiteSpeed)
systemctl restart lsws
# Atau restart PHP-FPM untuk setiap versi
for ver in php74 php80 php81 php82; do
systemctl restart lsphp$ver
done
# Restart Apache (jika menggunakan mod_php)
systemctl restart httpd
⚠️ PENTING: Restart service production harus dilakukan dengan hati-hati. Pastikan:
- Tidak ada deploy atau perubahan kode yang sedang berjalan
- Client sudah diberi tahu jika ada kemungkinan downtime sesaat
- Sudah ada backup konfigurasi sebelum restart
Cara User Mengupgrade PHP dari cPanel
Setelah Alt-PHP di server sudah di-update, user bisa mengupgrade versi PHP dari cPanel. Berikut langkah-langkahnya:
Langkah 1: Buka cPanel → Select PHP Version
Login ke cPanel, cari menu “Select PHP Version” atau “PHP Version Selector”. Menu ini biasanya ada di bagian “Software” atau “Programming”.
Langkah 2: Pilih Versi PHP yang Diinginkan
Pada halaman Select PHP Version, kamu akan melihat daftar versi PHP yang tersedia. Pilih versi PHP yang diinginkan (misalnya PHP 8.2) dan klik “Set as current” atau “Apply”.
Langkah 3: Aktifkan Ekstensi yang Dibutuhkan
Setelah memilih versi PHP, pastikan ekstensi yang dibutuhkan oleh website sudah aktif. Klik tab “Extensions” dan pastikan ekstensi seperti mysqli, pdo_mysql, gd, mbstring, curl, dan lainnya sudah aktif.
Langkah 4: Test Website
Setelah mengubah versi PHP, test website untuk memastikan tidak ada error. Buka website di browser dan cek apakah semua fitur berfungsi dengan baik.
Troubleshooting: Update Gagal
Masalah 1: Repository Tidak Bisa Diakses
Jika update gagal karena repository tidak bisa diakses:
# Cek koneksi ke repository
yum clean all
yum makecache
# Cek status license CloudLinux
cat /etc/cloudlinux-release
# Jika masih gagal, cek DNS server
cat /etc/resolv.conf
Masalah 2: Konflik Package
Jika update gagal karena konflik package:
# Cek package yang conflicting
yum groupupdate alt-php* 2>&1 | grep -i conflict
# Update package yang conflicting terlebih dahulu
yum update [nama-package-conflicting]
# Jalankan update lagi
yum groupupdate alt-php*
Masalah 3: PHP Tidak Berfungsi Setelah Update
Jika PHP tidak berfungsi setelah update (white screen, error, dll):
# Cek error log
tail -50 /var/log/lsphp82/error.log
# Cek apakah PHP-FPM berjalan
systemctl status lsphp82
# Restart PHP-FPM
systemctl restart lsphp82
# Jika masih bermasalah, restore backup konfigurasi
cp /tmp/backup-php-ini-php82-*.bak /opt/alt/php82/etc/php.ini
Pro Tips: Pencegahan Masalah Update PHP
- Update di staging terlebih dahulu — jika memungkinkan, test update di server staging sebelum production. Ini mencegah masalah tak terduga di production.
- Baca changelog sebelum update — periksa apa yang berubah di versi terbaru. Kadang ada perubahan yang bisa mempengaruhi kompatibilitas.
- Update saat low traffic — jalankan update saat traffic server rendah (misalnya dini hari) untuk meminimalkan dampak ke user.
- Monitor error log setelah update — setelah update, monitor error log selama beberapa jam untuk memastikan tidak ada error baru yang muncul.
- Schedule update berkala — buat jadwal update Alt-PHP secara berkala (misalnya sebulan sekali) untuk memastikan server selalu menggunakan versi PHP terbaru dan aman.
- Gunakan
yum versionlock— jika kamu tidak ingin mengupdate semua versi PHP sekaligus, gunakanyum versionlockuntuk mengunci versi tertentu dan hanya mengupdate versi yang diinginkan. - Backup sebelum update — selalu backup konfigurasi PHP sebelum update. Ini adalah langkah paling penting yang sering dilupakan.
FAQ
Apakah update Alt-PHP akan menghapus versi PHP yang sudah ada?
Tidak. yum groupupdate alt-php* hanya mengupdate package yang sudah terinstall ke versi yang lebih baru. Versi PHP yang sudah ada tetap tersedia dan tidak akan dihapus. User bisa tetap menggunakan versi PHP lama dari cPanel.
Apakah aman menjalankan yum groupupdate alt-php* di production?
Ya, pada umumnya aman. Update Alt-PHP dirancang untuk backward compatible — tidak ada perubahan yang akan memecahkan kompatibilitas dengan versi lama. Tapi tetap disarankan untuk backup dulu dan test di staging jika memungkinkan.
Bagaimana cara mengupdate hanya versi PHP tertentu?
Gunakan yum groupupdate alt-php82 untuk mengupdate hanya PHP 8.2. Atau yum groupupdate alt-php81 alt-php82 untuk mengupdate PHP 8.1 dan 8.2. Wildcard alt-php* akan mengupdate semua versi sekaligus.
Apakah user perlu melakukan sesuatu setelah server update Alt-PHP?
Pada umumnya tidak. User tidak perlu melakukan apa-apa setelah server update Alt-PHP. Tapi jika user ingin mengupgrade versi PHP website mereka, mereka bisa melakukannya dari cPanel → Select PHP Version. Versi PHP yang tersedia di cPanel akan otomatis terupdate setelah server update Alt-PHP.
Related Issues
- Cara Troubleshoot Database Load Tinggi di MariaDB — update PHP bisa mempengaruhi performa database karena perubahan di ekstensi mysqli/PDO
- Cara Mendeteksi & Membebaskan Disk Space dari File Terhapus di Linux — update PHP bisa menghasilkan file temporary atau backup yang menahan space
- Cara Mengatasi Apache Slot Penuh (503 Service Unavailable) — PHP yang tidak berfungsi setelah update bisa menyebabkan Apache slot penuh
Kesimpulan
Update PHP di CloudLinux menggunakan yum groupupdate alt-php* adalah langkah penting untuk menjaga keamanan dan performa server. Dengan update secara berkala, kamu memastikan bahwa semua versi PHP di server sudah menggunakan patch keamanan terbaru dan kompatibel dengan library terbaru.
Yang teringat dari pengalaman saya: jangan pernah mengupgrade versi PHP dari cPanel tanpa update Alt-PHP di server terlebih dahulu. Karena kalau tidak, kamu akan mendapatkan masalah seperti white screen, error tak terduga, atau bahkan PHP crash. Selalu backup dulu, update Alt-PHP dengan yum groupupdate alt-php*, verifikasi update berhasil, baru kemudian izinkan user untuk mengupgrade dari cPanel. Lebih baik waspada daripada harus menjelaskan ke client kenapa website mereka error setelah upgrade PHP — percaya deh, saya pernah ngalamin dan tidak mau ngalamin lagi.