Penggunaan SetHandler PHP pada .htaccess
Penggunaan SetHandler dalam file .htaccess adalah metode teknis untuk menginstruksikan server web Apache agar memproses file PHP menggunakan versi interpreter PHP tertentu. Ini sering dilakukan ketika Anda memiliki kebutuhan untuk menjalankan aplikasi dengan versi PHP yang berbeda di dalam subfolder atau subdomain yang sama, terutama pada lingkungan hosting yang mendukung multi-PHP.
Sintaks Dasar SetHandler
Untuk menerapkan versi PHP tertentu, Anda perlu mengetahui jalur (path) handler PHP yang disediakan oleh penyedia hosting Anda. Berikut adalah contoh implementasi umum dalam file .htaccess:
<FilesMatch "\.(php4|php5|php7|php8|php)$">
SetHandler application/x-httpd-alt-php82
</FilesMatch>Harap dicatat bahwa nilai application/x-httpd-alt-php82 dapat bervariasi tergantung pada konfigurasi server penyedia hosting Anda. Anda harus memastikan nilai tersebut sesuai dengan daftar handler yang tersedia di server.
Tabel Referensi Versi PHP dan Handler
Berikut adalah estimasi format handler yang umum digunakan pada lingkungan server berbasis Apache/CloudLinux. Pastikan untuk memverifikasi nilai ini melalui panel kontrol hosting Anda (seperti cPanel atau hPanel).
| Versi PHP | Contoh Handler (Format Umum) |
|---|---|
| PHP 7.4 | application/x-httpd-alt-php74 |
| PHP 8.0 | application/x-httpd-alt-php80 |
| PHP 8.1 | application/x-httpd-alt-php81 |
| PHP 8.2 | application/x-httpd-alt-php82 |
| PHP 8.3 | application/x-httpd-alt-php83 |
Langkah Implementasi
- Akses file manager atau FTP hosting Anda.
- Masuk ke direktori (subfolder) yang ingin diubah versi PHP-nya.
- Buat atau edit file bernama
.htaccess. - Masukkan kode
SetHandleryang sesuai dengan versi PHP target. - Simpan perubahan dan lakukan pengujian dengan membuat file
info.phpberisi<?php phpinfo(); ?>untuk memastikan versi telah berubah.
Troubleshooting Umum
Jika setelah menambahkan kode tersebut situs Anda menampilkan Internal Server Error (500), kemungkinan besar penyebabnya adalah:
- Handler Tidak Valid: Nama handler yang Anda masukkan tidak terdaftar di server. Hubungi dukungan teknis hosting untuk mendapatkan daftar handler yang benar.
- Konflik Modul: Server mungkin tidak mengizinkan override handler melalui
.htaccesskarena kebijakan keamanan. - Sintaks Salah: Pastikan tidak ada karakter tersembunyi atau kesalahan penulisan pada tag
<FilesMatch>.
Jika metode SetHandler tidak berfungsi, banyak penyedia hosting modern menyediakan fitur "PHP Selector" di panel kontrol yang memungkinkan pengaturan versi PHP per direktori tanpa harus menyunting file .htaccess secara manual.