Products & Services Submit a ticket My Tickets
Selamat datang
Masuk  Mendaftar

Mengatasi Error PHP "open_basedir restriction in effect" pada cPanel

Pengenalan Error

Error "open_basedir restriction in effect" adalah pesan keamanan PHP yang muncul ketika sebuah script mencoba mengakses file atau direktori di luar jalur yang diizinkan. cPanel menerapkan pembatasan ini sebagai langkah keamanan untuk mencegah akses tidak sah ke file sistem.

Penyebab Error

Error ini bisa terjadi karena beberapa faktor, diantara lain :
  1. Script PHP mencoba mengakses file di luar direktori home/user

  2. Konfigurasi open_basedir di cPanel membatasi akses file

  3. Ada include/require yang merujuk ke path absolut di luar direktori yang diizinkan

Solusi untuk Mengatasi Error

  1. Menggunakan Path Relatif

Gantikan path absolut dengan path relatif dalam kode PHP Anda:
// Salah: include('/home/user/public_html/config.php'); 
// Benar: include(__DIR__ . '/config.php'); 
// atau 
include('./config.php');
  1. Menyesuaikan Konfigurasi open_basedir

Melalui file php.ini pada cpanel :
  1. Login ke cPanel

  2. Buka "PHP Selector" atau "MultiPHP INI Editor"

  3. Cari opsi "open_basedir" / Bisa masuk ke menu Editor Mode seperti pada gambar dibawah 

Tambahkan sebuah baris kode seperti berikut : 
open_basedir = none 
// atau  open_basedir = Off
  1. Simpan perubahan

Catatan: Hal ini sedikit tidak direkomendasikan karena terkait security / keamanan. Jadi gunakan secara bijak.

Solusi Khusus untuk Aplikasi Populer

WordPress:

  1. Edit wp-config.php dan tambahkan:

define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp');
  1. Pastikan semua plugin menggunakan path relatif

Laravel:

  1. Pastikan storage link dibuat dengan benar:

php artisan storage:link
  1. Periksa konfigurasi di config/filesystems.php

Verifikasi Perubahan

Setelah melakukan perubahan, buat file phpinfo.php :
<?php phpinfo(); ?>
Kemudian cari bagian "open_basedir" untuk memastikan perubahan telah diterapkan. Jika perubahan berhasil dilakukan maka pada tampilan phpinfo akan ada value open_basedir berupa no value / not set seperti gambar dibawah 

Kesimpulan

Error open_basedir adalah mekanisme keamanan penting. Solusi terbaik adalah menyesuaikan kode aplikasi untuk bekerja dalam direktori yang diizinkan daripada menonaktifkan pembatasan sepenuhnya.

Apakah jawaban ini bermanfaat? Ya Tidak

Send feedback
Maaf kami tidak bisa membantu. Bantu kami mengembangkan artikel ini dengan umpan balik Anda.