Skip to content

January 22, 2009

1

Jangan lupa File Permission

Permasalahan

Sudah beberapa minggu aku belum sempet nulis gara2nya ada projek aplikasi portal kantor yang error sewaktu migrasi ke server production yang https, nyari2 katanya gara2 sertifikat SSL nya yang bermasalah, tapi tetep blum ketemu titik terang. Aku tinggal dulu ngerjain bagian lainnya.

Problem adalah ketika saya mindah aplikasi CI portal kantor ke server https, semua config sudah saya sesuaikan, tapi begitu dipanggil url nya yang keluar hanya halaman kosong. semua browser sudah saya coba tapi sepertinya bukan masalah di browser.

Debugging

Saya telusuri problemnya dengan menaruh echo “test” di tiap2 titip yang mencurigakan terjadinya error. Ini seperti proses debuger tapi manual. Cara kerjanya jika pesan test ditampilkan maka bagian itu dilewati tanpa ada error.

saya mulai menelusuri dari file index.php, CodeIgniter.php, lalu file2 class yang diload oleh fungsi load_class.

    /index.php (approx. line 117)
    require_once BASEPATH.’codeigniter/CodeIgniter’.EXT;

    /system/codeigniter/CodeIgniter.php (approx. line 80)
    $EXT =& load_class(’Hooks’);

    /system/libraries/Hooks.php (approx. line 43)
    log_message(’debug’, “Hooks Class Initialized”);

nah pada “log_message”, pesan test tidak keluar berarti error terjadi pada saat pemanggilan fungsi log_message, setelah baca2 mbah google dan user guidenya , ketemu catatan seperti ini :

Note: In order for the log file to actually be written, the “logs” folder must be writable. In addition, you must set the “threshold” for logging. You might, for example, only want error messages to be logged, and not the other two types. If you set it to zero logging will be disabled.

Jadi akar permasalahannya adalah permission folder logs nya mungkin masih read only, sehingga CI tidak bisa menulis file log di dalam folder itu.

Solusi

Untuk mengatasinya, attribut permission folder logs (/system/logs). harus dirubah menjadi read n write, atau 777 (read/write/execute) dalam server linux.

[localhost]$ chmod 777 system/logs

selain itu folder cache (/system/cache) juga kalo bisa di set ke mode read n write, karena bila tidak akan menimbulkan warning PHP karena engine cache CI tidak bisa menulis file cache ke folder tersebut.

dan akhirnya, portal aplikasi ku jalan,.. dan siap di publish di kantor tepat sebelum deadline.. Alhamdulillah.