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()
(gunakancall_user_func()
saja)call_user_method_array()
(gunakancall_user_func_array()
saja)define_syslog_variables()
dl()
ereg()
(gantinya gunakanpreg_match()
saja)ereg_replace()
(gantinya gunakanpreg_replace()
saja)eregi()
(gantinya gunakanpreg_match()
dengan ‘i’ modifier saja)eregi_replace()
(gantinya gunakanpreg_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 gunakanstream_set_blocking()
saja)split()
(gantinya gunakanpreg_split()
saja)spliti()
(gantinya gunakanpreg_split()
dengan ‘i’ modifier saja)sql_regcase()
mysql_db_query()
(gantinya gunakanmysql_select_db()
danmysql_query()
saja)mysql_escape_string()
(gunakanmysql_real_escape_string()
saja)- Melewatkan nama lokal kategori sebagai string sekarang deprecated. Gunakan konstanta dari LC_* saja.
- Parameter
is_dst
padamktime()
. 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
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)
Tinggalkan Balasan ke nurmila Batalkan balasan