Selasa, 20 September 2011

CodeIgniter vs Windows

CodeIgniter, mendengar kata codeigniter mungkin sudah tidak asing bagi kita yang berkecimpung di dunia pemrograman web. Tapi pernahkah anda menemui beberapa fungsi milik CodeIgniter yang tidak berfungsi dengan baik ? buat saya sendiri, saya pernah mengalami, sewaktu saya membuat aplikasi blog sederhana menggunakan framework codeigniter.


Pertanyaannya adalah kenapa bisa ada fungsi di CI yang tidak berfungsi? padahal ketika blog itu saya jalankan dengan laptop saya sebagai web server, semua fungsi tidak ada masalah dan "aman-aman" saja. hehehehe..... :D . Selidik punya selidik ternyata ada beberapa hal yang menyebabkan kenapa ada function CodeIgniter yang tidak berfungsi dengan baik, diantaranya :




  1. Web Server dan PHP Intepreter dijalankan di dalam OS Windows (sedangkan laptop saya menggunakan OS Linux, kebetulan menggunkan Linux Ubuntu)

  2. Perbedaan pembacaanpath directory yang berbeda antara Windows (menggunakan backslash, "") dan Unix (menggunakan slash, "/")

  3. CodeIgniter mengadobsi path directory milik Unix



dari beberapa permasalahan yang saya temukan, saya terus mencari solusi untuk mengatasinya dengan mengobrak-abrik function yang ada di CodeIgniter tetapi tidak ada hasilnya. Hingga akhirnya penyebabnya ketemu, dan asal tahu ternyata masalah itu dapat teratasi hanya dengan mengubah 1 baris variable di file index.php dan solusi itu ketemu setelah sekitar 1 minggu tidak menjamah CI dan hanya tidur seolah solusinya datang lewat mimpi hehehehe..... :D


Berikut apa saja yang harus di lakukan untuk mengatasi masalah tersebut :



  1. Buka file index.php yang ada di root directory CI (/index.php), bukan file di /application/index.php atau /system/application/index.php



    /
    index.php --> file yang dimaksud
    application/
    system/



    atau




    /
    index.php --> file yang dimaksud
    system/
    application/





  2. Cari variable $system_path yang ada di file index.php tersebut


    /*
    * ---------------------------------------------------------------
    * Resolve the system path for increased reliability
    * ---------------------------------------------------------------
    */

     
    // Set the current directory correctly for CLI requests
    if (defined('STDIN'))
    {
    chdir(dirname(__FILE__));

    }
     
    if (realpath($system_path) !== FALSE)
    {
    $system_path = realpath($system_path).'/';

    }
     
    // ensure there's a trailing slash
    $system_path = rtrim($system_path, '/').'/';

     
    // Is the system path correct?
    if ( ! is_dir($system_path))
    {
    exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME));

    }



    variable yang dimaksud adalah




    if (realpath($system_path) !== FALSE)

    {
    $system_path = realpath($system_path).'/';
    }




  3. Paksa variable $system_path menjadi path file ketika dibuka di web browser menggunakan "file:///" dan mengganti backslah() menjadi slash(/)


  4. Berikut setelah diganti


    if (realpath($system_path) !== FALSE)
    {
    $system_path = 'file:///'. str_replace('', '/', realpath($system_path).'/');

    }





 


Semoga sedikit tulisan saya ini bisa bermanfaat bagi semua yang menggunakan CodeIgniter sebagai media dalam mengembangkan aplikasinya. Terima kasih.





Source : blog.yusronarif.com - CodeIgniter vs Windows

1 komentar:

  1. Check this ...

    http://www.youtube.com/watch?v=WTrYTFun_qg&feature=fvwrel

    semoga menambah wawasan anda trims... ^_^

    BalasHapus