Tidak semua permasalahan yang terjadi di aplikasi yang sudah di-generate oleh PHPMaker itu harus disolusikan dari sisi PHPMaker.
Contohnya masalah yang satu ini. Field yang Lookup ke table tertentu ketika aplikasi web dijalankan di localhost tidak ada error sama sekali, tapi ketika dijalankan di server production, muncul pesan error 401 – Unauthorized, atau The result could not be loaded. Intinya, data di field yang Lookup Table tadi tidak muncul sama sekali.
Usut punya usut, ternyata masalah ini disebabkan karena setting di Apache pada server hosting yang secara default tidak memberikan otorisasi untuk field yang memiliki Lookup ke table lain. Penulis sendiri masih bingung kenapa hal ini bisa terjadi.
Sampai suatu saat Penulis menemukan solusinya dari salah satu topik di Forum Diskusi PHPMaker. Di topik itu dijelaskan bahwa server Apache tidak selalu otomatis melewatkan header Authorization ke PHP atau aplikasi lain seperti WordPress, Laravel, dan sebagainya.
Solusinya cukup hanya menambahkan beberapa baris kode pada file .htaccess yang berada di dalam folder utama dari aplikasi web pada server production.
# https://discourse.hkvstore.com/t/lookup-field-not-working/10406/7
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
Ingat ya, ditambahkan bukan berarti menghapus kode yang sudah ada sebelumnya di file .htaccess tersebut. Jadi, berhati-hatilah selalu sebelum menambahkan kode di atas, dan pastikan sekali lagi untuk tidak menimpa kode yang sudah ada sebelumnya.
Tinggalkan Balasan