Menjalankan Berbagai Versi PHP Secara Bersamaan di Laragon (Multi-PHP)

Mubarok Hasanuddin


Secara standar, Laragon memungkinkan pengguna untuk berganti versi PHP secara global dengan mudah melalui menu klik kanan. Namun, dalam pengembangan profesional, sering kali kita perlu menjalankan proyek lama (misalnya PHP 7.4) dan proyek baru (PHP 8.2) secara bersamaan tanpa harus terus-menerus berganti versi global. Artikel ini menjelaskan cara mencapai hal tersebut menggunakan modul mod_fcgid pada Apache.

1. Persiapan Versi PHP NTS

Langkah pertama adalah memastikan Anda memiliki versi PHP yang diinginkan di folder bin Laragon. Sangat penting untuk menggunakan versi NTS (Non-Thread Safe) agar kompatibel dengan FastCGI di Windows.

  • Contoh folder: D:/laragon/bin/php/php-7.4.9-nts-Win32-vc15-x64.

  • Pastikan file php-cgi.exe ada di dalam folder tersebut.


2. Instalasi Modul FastCGI (mod_fcgid) secara Manual

Jika Anda menemui error “Invalid command FcgidWrapper”, itu artinya modul FastCGI belum terpasang. Ikuti langkah ini:

  1. Download Modul: Kunjungi ApacheLounge dan cari bagian Modules. Download file mod_fcgid-xxx-win64-VS17.zip.

  2. Ekstrak File: Buka file .zip tersebut dan temukan file bernama mod_fcgid.so.

  3. Copy ke Direktori Apache: Masukkan file mod_fcgid.so ke dalam folder modules Apache Anda di: D:\KERJAAN\laragon\bin\apache\httpd-2.4.x-win64-VS16\modules\

  4. Daftarkan di Konfigurasi: Buka Menu > Apache > httpd.conf di Laragon, lalu tambahkan baris berikut di deretan LoadModule lainnya:

    LoadModule fcgid_module modules/mod_fcgid.so
    

3. Konfigurasi Virtual Host Spesifik

Untuk memisahkan versi PHP antar proyek, Anda harus mengedit file konfigurasi Virtual Host proyek tersebut (biasanya di folder etc/apache2/sites-enabled/). Tambahkan pengaturan berikut:

Contoh Konfigurasi:

<VirtualHost *:80> 
    DocumentRoot "D:/KERJAAN/laragon/www/nauli"
    ServerName nauli.test
    
    <Directory "D:/KERJAAN/laragon/www/nauli">
        # Penting: Gunakan tanda + untuk semua opsi agar tidak terjadi error sintaks
        Options +Indexes +FollowSymLinks +MultiViews +ExecCGI
        AllowOverride All
        Require all granted
    </Directory>

    <IfModule fcgid_module>
        <FilesMatch "\.php$">
            SetHandler fcgid-script
            # Jalur absolut ke php-cgi.exe versi NTS
            FcgidWrapper "D:/KERJAAN/laragon/bin/php/php-7.4.9-nts-Win32-vc15-x64/php-cgi.exe" .php
        </FilesMatch>
    </IfModule>
</VirtualHost>

4. Verifikasi dan Pengujian

Setelah konfigurasi disimpan, lakukan Restart Apache (klik Stop, lalu Start) melalui panel Laragon.

  1. Cek log melalui Menu > Apache > Error Log. Pastikan terdapat pesan mod_fcgid/2.3.x configured -- resuming normal operations.

  2. Buat file info.php di folder proyek yang berisi:

    <?php phpinfo(); ?>
    
  3. Akses melalui browser. Jika berhasil, bagian Server API akan menampilkan CGI/FastCGI dan versi PHP yang muncul akan sesuai dengan jalur yang Anda tentukan (misal 7.4.9), meskipun versi global Laragon Anda adalah PHP 8.x.

Post a Comment