Cara Menggunakan SetHandler PHP di .htaccess untuk Versi PHP

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 PHPContoh Handler (Format Umum)
PHP 7.4application/x-httpd-alt-php74
PHP 8.0application/x-httpd-alt-php80
PHP 8.1application/x-httpd-alt-php81
PHP 8.2application/x-httpd-alt-php82
PHP 8.3application/x-httpd-alt-php83

Langkah Implementasi

  1. Akses file manager atau FTP hosting Anda.
  2. Masuk ke direktori (subfolder) yang ingin diubah versi PHP-nya.
  3. Buat atau edit file bernama .htaccess.
  4. Masukkan kode SetHandler yang sesuai dengan versi PHP target.
  5. Simpan perubahan dan lakukan pengujian dengan membuat file info.php berisi <?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 .htaccess karena 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.