Mengatasi Masalah CMS Mambo dan PHP 5.3

Sudah seminggu terakhir ini situs ad-12 Labs tidak bisa diakses, dan hanya menampilkan halaman kosong. Mula-mula, Penulis mengira permasalahan terletak pada hosting web yang dipakai. Setelah menunggu beberapa waktu, keadaan tidak juga berubah. Setelah mencoba menampilkan pesan kesalahan PHP dengan menambahkan baris kode: php_value display_errors on di file .htaccess, muncul beberapa pesan error, di antaranya: Call to undefined method mosMenu::mosDBTable() in /var/www/mambo/includes/core.classes.php on line 899. Setelah melakukan sedikit riset, masalahnya terletak pada upgrade versi PHP di hosting web menjadi 5.3.x. Nampaknya Mambo versi terakhir (4.6.5) tidak kompatibel dengan PHP versi 5.3.x. Mengingat Mambo belum merilis versi baru, maka untuk sementara harus dilakukan beberapa perbaikan secara manual. Dari petunjuk yang Penulis temukan, ada tiga perbaikan yang bisa dilakukan:

  1. Edit file includes/vcard.class.php, temukan function quoted_printable_encode, lalu tambahkan:
    if (!function_exists('quoted_printable_encode')) {
    di awal function dan tambahan :
    }

    di akhir function
  2. Edit file includes/database.php, tambahkan kode di bawah ini setelah baris var $_db=null (baris ke-789):
    function mosDBTable ($table='', $keyname='id', $db='') {
    if ($table) $this->_tbl = $table;
    else $this->_tbl = $this->tableName();
    $this->_tbl_key = $keyname;
    if (is_object($db)) $this->_db = $db;
    }
  3. Edit file includes/Cache/Lite/Function.php pada baris ke-100:
    $result = call_user_func_array($target, $arguments);
    menjadi:
    $result = call_user_func_array($target, &$arguments);
  4. UPDATE: Menurut petunjuk dari forum Mambo Foundation, Anda cukup melakukan langkah ke-2 di atas, dan mengedit file includes/Cache/Lite/Function.php pada baris ke-72:
    function call()
    {
    $arguments = func_get_args();
    menjadi :
    function call()
    {
    $arguments = func_get_args();
    $numargs = func_num_args();
    for($i=1; $i < $numargs; $i++){
    $arguments[$i] = &$arguments[$i];
    }

    Anda juga bisa mengunduh file database.php dan Function.php yang telah dimodifikasi (revisi 1767) dan mengunggahnya ke situs Mambo Anda.

Jangan lupa untuk menghapus/menandai baris kode php_value display_errors on  atau menambahkan baris php_flag error_reporting 0 di file .htaccess, karena beberapa baris error akan tetap tampil, namun tidak mengganggu fungsionalitas situs. Selamat mencoba!

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s