
Namun
banyaknya paket yang ada ataupun kita install tersendiri antara
ketiganya (Apache-PHP-MySQL) terkadang menjadi persoalan tersendiri,
karena default setting dari masing-masing paket yang berbeda.
Hal ini
saya alami ketika aplikasi penjualan yang saya buat menggunakan PHP, dan
mengeluarkan report berupa file excel tiba-tiba mengeluarkan report
excel yang tertulis “…the script whose uid 1199 is not allowed to access /tmp…”, padahal sebelumnya normal saja.
Setelah mencari kesana-kemari, mbah Google memberikan
wangsit, bahwa kejadian tersebut dapat terjadi karena setting
“safe_mode” pada kondisi “on” pada konfigurasi “php.ini” file. Apabila
kita menggunakan local server, kita tinggal mencari file php.ini dan
mengganti setting “safe_mode” menjadi “off” seperti pada gambar dibawah.
Persoalan menjadi sedikit berbeda ketika kita berada di
server publik/hosting. Karena berbagai alasan, administrator server
belum tentu bersedia mengganti konfigurasi tersebut menjadi sesuai
seperti keinginan kita. Lalu bagaimana?
Pada kasus yang saya alami, saya menggunakan xlsClass untuk membuat report berupa excel.
Menurut mbah Google (lagi), hal ini terjadi karena server tidak
mengijinkan script php untuk membuat file temporary di folder “/tmp”,
maka yang bisa kita lakukan adalah :
-
buat folder “tmp” pada folder xlsClass, dan buatlah aksesnya menjadi writeable dan readable
-
buka file “OLEwriter.php” pada folder xlsClass, karena file ini yang berisi script yang memuat pembuatan folder /tmp.
- Buang tanda “/” seperti tanda panah pada gambar dibawah. Ini akan membuat file temporary yang dibuat menuju folder temporary yang baru kita buat, dan report excel akan kembali normal.
0 komentar: