34 Komentar

Deprecated function pada PHP

session_registered is Deprecated

Deprecated: Function session_is_registered() is deprecated in

Pernah mendapatkan pernyataan:

Deprecated: Function session_is_registered() is deprecated in […]

ketika sedang  menjalankan kode  PHP? hal ini disebabkan oleh fitur Deprecated yang ditambahkan mulai PHP 5.3.x yang otomatis memberikan semacam notifikasi error jika beberapa fungsi atau variabel di gunakan.

Fungsi seperti session_is_registered() telah ditandai Deprecated mulai PHP 5.3.x dan tidak akan digunakan lagi mulai PHP 6.0.0, hal ini diperlukan untuk memutus beberapa fungsi lama yang dinilai memiliki celah keamanan atau performa (menurut pendapat penulis).

Dengan kata lain notifikasi error ini memberikan peringatan bagi para programmer PHP untuk tidak lagi menggunakan fungsi tersebut karena meskipun masih berjalan di PHP 5.3.x fungsi tersebut akan dihapus di PHP 6.0.0

Berikut adalah daftar direktive INI yang akan memicu error Deprecated:

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase
  • Komentar dengan ‘#’ juga termasuk Deprecated di-file .INI

Daftar fungsi yang akan memicu error Deprecated:

  • call_user_method() (gunakan call_user_func() saja)
  • call_user_method_array() (gunakan call_user_func_array() saja)
  • define_syslog_variables()
  • dl()
  • ereg() (gantinya gunakan preg_match() saja)
  • ereg_replace() (gantinya gunakan preg_replace() saja)
  • eregi() (gantinya gunakan preg_match() dengan ‘i’ modifier saja)
  • eregi_replace() (gantinya gunakan preg_replace() dengan ‘i’ modifier saja)
  • set_magic_quotes_runtime() dan alias-nya, magic_quotes_runtime()
  • session_register() (gantinya gunakan $_SESSION superglobal saja)
  • session_unregister() (gantinya gunakan $_SESSION superglobal saja)
  • session_is_registered() (gantinya gunakan $_SESSION superglobal saja)
  • set_socket_blocking() (gantinya gunakan stream_set_blocking() saja)
  • split() (gantinya gunakan preg_split() saja)
  • spliti() (gantinya gunakan preg_split() dengan ‘i’ modifier saja)
  • sql_regcase()
  • mysql_db_query() (gantinya gunakan mysql_select_db() dan mysql_query() saja)
  • mysql_escape_string() (gunakan mysql_real_escape_string() saja)
  • Melewatkan nama lokal kategori sebagai string sekarang deprecated. Gunakan konstanta dari LC_* saja.
  • Parameter is_dst pada mktime(). Gunakan fungsi timezone yang baru saja.

Fitur lain yang Deprecated:

  • Return value dari new lewat reference sekarang deprecated.
  • Call-time pass-by-reference sekarang deprecated.

Me-non-aktifkan error Deprecated

PHP.ini

PHP.ini Gunakan CTRL+F untuk mencari error_reporting

Hal ini tidak mengubah bahwa fungsi tersebut tetap akan dihapus di PHP 6.0.0 namun setidaknya dapat menghilangkan notifikasi error yang merusak tampilan :p

Buka php.INI lalu sesuaikan nilai error_reporting menjadi:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

yang artinya, tampilkan semua error kecuali notice level dan deprecated level simpan php.ini dan restart Apache.

Selamat mencoba, semoga bermanfaat😉

(Adaptasi dari PHP doc | http://php.net/manual/en/migration53.deprecated.php)

34 comments on “Deprecated function pada PHP

  1. Masih Binun Mas.🙄

  2. hehehe. . .

    kak muslim pinteeeeeeeeer. . .

    pooooooooool. . . 🙂
    Pingin belajar PHP tapi ribeet.😦

    • PHP termasuk bahasa pemrograman yang mudah dimengerti namun powerful, tapi memang instalasi dan ketergantungan dengan aplikasi lain membuat agak ribet. Nanti setelah dijalani dan melihat hasilnya, pasti ketagihan pengen belajar lagi.

      FYI Facebook, WordPress dan situs2 populer lainnya banyak yg dibuat dengan PHP😉

  3. iyya si kak. . .
    tapi tentang bahasa codingnya yang agak belum nyantol. . .
    pas dapat tugas tentang buku tamu berserta web sederhana pake PHP aja sudah cenat-cenuut. . .😦

    kak muslim, terimakasih bangeet ya. . .link Langkah Catatanku duduk di Direktori Blog. . .suatu kebahagiaan buat idah.
    ikut baca disni yuk kak. . .

    http://idahceris.wordpress.com/2012/02/11/alkhamdulillah-akhirnya-idah-dapat-page-rank-dari-simbah/

  4. Pagi mas muslim, saya ingin menyebar luaskan Artikel ini ya mas? Saya rasa ini penting….. Mohon Ijin………..!!!!hehehe……
    Salam,

  5. wah pantesan, lagi nyobe session muncul notifikasi error ini terus..

    sempat bingung kenapa fungsi ini mau dihapus, btw terima kasih info konfigurasinya🙂

  6. salam kenal nih gan:) kunjungan balik ya gan, dan jangan lupa post komentar dan follback nya ya:)

  7. Thanks gan informasinya,
    saya juga mengalami pesan error seperti di atas gara2 menggunakan syntax “session_register() dkk”. Saya sudah mengubah php.ini seperti instruksi di atas, memang pesan tidak keluar lagi, tetapi beberapa menu di aplikasi saya malah tidak berfungsi. itu kenapa gan?

  8. pagi mas, saya mau nanya gimana perbaikan kalau codingan sblmnya seperti ini :

    <?php session_start() ; //memulai suatu session

    if ((session_is_registered("nik"))&& (session_is_registered("password")) && (session_is_registered("status")))
    //mengecek sesi yang sudah terintegrasi
    {
    if ($_SESSION["status"] == "dosen")
    {
    header("location: perwalian/mahasiswa/mahasiswa.php");
    exit();
    //jika status pengakses sbg mahasiswa arahkan ke/mahasiswa.php
    }
    else
    {
    if ($_SESSION["status"] == "Admin")
    {
    header("location: perwalian/admin/admin.php");
    exit();

    • bisa menjadi seperti ini:
      if ( !isset("nik") && !isset("password") && !isset("status") ){
      echo "Session expired";
      exit();
      }

      • makasih pencerahannya mas… sedikit beda sih. tapi bisa mencerahkan😀
        jadinya seperti ini :

        if (isset ($_SESSION[‘nik’]) && isset($_SESSION[‘password’]) && isset($_SESSION[‘status’]))
        //mengecek sesi yang sudah terintegrasi

  9. Terimakasih banyak mas…SANGAT MEMBANTU SEKALI

  10. = “4.1.0”)
    {

    session_unregister(“admintest”);

    session_unregister(“current_admin”);
    }

    session_register(“admintest”);

    session_register(“current_admin”);

    }
    else if ((!$admintest) || (!$current_admin))
    {

    if(phpversion() >= “4.1.0”)
    {

    session_unregister(“admintest”);

    session_unregister(“current_admin”);
    }

    session_register(“admintest”);
    session_register(“current_admin”);

    }

    global $admintest, $current_admin;

    ?>

    pada open_session.php saya begini mas,dan itu pun masih menimbulkan error yang banyak..
    nah saya sudah ganti error reporting pada php.ini menjadi
    “error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED”
    tapi tetap saja masih ada error seperti itu..
    mohon pencerahannya mas..

  11. beeehhhhh… akhirnya ketemu juga biang kringet akar masalah nya …
    tengkiu banget nih pak bos…. udah share ni artikel mudah2an pak bos makin jadi master di php biar share banyak ilmu di mari😀

  12. […] Ditulis Oleh Muslim Pribadi M. (Instruktur Binus center bandung) Baca tulisan aslinya di https://muslimpribadi.wordpress.com/2012/01/27/deprecated-function-pada-php/ […]

  13. halo sobat yg mbaca sms ini. aku pengen nanya ni. kenapa ya internet di hpku jadi error semua?

  14. Jika Return value dari new lewat reference sekarang deprecated. Biar gg deprecated diapakn mas? Trims jk mau membantu.

  15. Mas saya mau men-split ini:
    split(“:”,gmdate(‘s:i:G:j:w:n:Y:z:l:F:U’,is_null($ts)?time():$ts))
    kalu menggunakan preg_split bagaimana ya? mohon bantuannya

  16. sembah sujud………

  17. om klo ngakalin nya di hosting gimana ?

  18. maaf sebelumnya mas, bila pertanyaan saya tak sesuai topik, saya baru belajar bikin web, database sudah dibuat, script sudah di install ke hosting, ketika diakses sudah bisa jalan, tetapi sewaktu login ke page admin, tidak bisa masuk, login member area juga gk bisa, padahal record admin juga member pertama suda ada. mohon solusinya.
    link web saya sudah sy cantumkan. terimakasih

    • Widih panjang nih ceritanya. Kemungkinan ada kesalahan logika di scriptnya, bisa juga di koneksi databasenya. Coba tes dengan script sederhana memanggil record dulu, lalu periksa lagi logika script loginnya.
      Semoga membantu

  19. bacaan ini sangat bermanfaat

  20. terima kasih….. bacaaannya bermanfaat sekalii….:D

Menurut anda bacaan ini bermanfaat? Ada tambahan? Atau mungkin mencari jawaban lain? Tulis disini Ok (:

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

%d blogger menyukai ini: