Apakah kamu pernah menjumpai masalah open_basedir restriction? Walaupun sifat error php ini jenisnya warning, tetap saja mengganggu fungsi dari website itu sendiri.
Biasanya ditandai dengan gambar atau layout yang tidak ter-load secara sempurna.
Identifikasi error open_basedir
Pertama-tama kamu harus tau apakah ini benar error open_basedir atau bukan. Caranya?
- Cek error_log pada direktori root domain kamu. biasanya terletak didalam public_html/
- Bisa juga dengan cara turn ON display_error, maka error akan muncul semua di layar browser ketika membuka website.
Contoh error open_basedir
Nah, sekarang kamu harus tau juga model error nya seperti apa sih.
ini contoh yang pernah kita dapatkan :
Message: is_dir(): open_basedir restriction in effect. File(/opt/alt/php80/var/lib/php/session)
is not within the allowed path(s):
(/home/apotekpu/:/tmp:/var/tmp:/opt/alt/php74/usr/share/pear/:
/dev/urandom:/usr/local/lib/php/:/usr/local/php74/lib/php/)
Artinya, script php tidak bisa berjalan sebagaimana mestinya karena adanya batasan-batasan dari open_basedir, dan kebetulan file /opt/alt/php80/var/lib/php/session
tidak masuk dalam whitelist open_basedir tersebut.
Solusi open_basedir restriction in effect
Pastikan kamu tahu apa isi value dari open_basedir saat ini dengan cara :
- Buat file php baru
phpinfo.php
dengan isi :phpinfo();
- Sebagai contoh
namadomain.com/phpinfo.php
- Buka url tersebut, dan cari value dari open_basedir seperti contoh dibawah ini:
- Lihat Local Value, jika ada isinya, maka kamu harus kosongkan.
Ada dua cara yang bisa kamu lakukan dengan mudah yaitu :
- Matikan settingan open_basedir pada control panel hosting.
- Tambahkan lokasi folder yang tercantum kedalam open_basedir , agar apapun diluar pada daftar whitelist maka akan dilarang akses.
Kami sarankan gunakan cara pertama yaitu matikan settingan open_basedir.
Dalam kasus ini, kita berikan contoh cara mematikan open_basedir pada control panel DirectAdmin.
- Masuk sebagai admin di DirectAdmin
- Buka menu
PHP Configuration
- Search nama domain yang ingin kita disable open_basedir nya.
Kesimpulan
Fungsi open_basedir sederhananya adalah untuk membatasi akses script PHP agar tidak berjalan diluar path yang sudah ditentukan. Bisa dibilang aktifkan open_basedir ini untuk kepentingan keamanan (security). Di web hosting cPanel saat ini secara default sudah non-aktif. Tetapi kamu masi bisa kok aktifkan open_basedir sesuai kebutuhan.
Semoga artikel ini bermanfaat ya sob! Jangan ragu untuk mencoba agar kamu lebih mengerti lagi.