Artikel ini menjelaskan isu-isu apa saja yang mungkin terjadi saat Anda beralih menggunakan PHP 5.3 setelah sebelumnya menggunakan versi PHP 5.2 ke bawah.
Deprecation
Saat skrip Anda dijalankan, kini mungkin akan muncul warning-warning deprecation untuk beberapa hal, di antaranya:
- Jika setting register_globals masih on.
Pesan yang muncul:
Warning: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
Solusinya, Anda bisa mematikan warning ini dengan menambahkan di php.ini:
error_reporting = E_ALL ^ E_NOTICE ^ E_USER_NOTICE ^ E_DEPRECATED ^ E_USER_DEPRECATED ^ E_WARNING
Tapi solusi jangka panjangnya, Anda perlu memodifikasi skrip Anda berjalan lebih mulus di PHP 5.3, misalnya dengan tidak memanfaatkan register_globals lagi.
- Fungsi-fungsi seperti ereg() dan split() (sebagai gantinya gunakan preg_match() dan preg_split()),
- Selengkapnya bisa dibaca di: http://php.net/manual/en/migration53.deprecated.php
mematikan warning deprecated di WordPress
Jika Anda menggunakan WordPress dan warning tersebut masih muncul, cobalah mengubah baris-baris di wp-settings.php dari:
// Add define('WP_DEBUG',true); to wp-config.php to enable display of notices during development.
if (defined('WP_DEBUG') and WP_DEBUG == true) {
error_reporting(E_ALL);
} else {
error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE);
}
menjadi:
// Add define('WP_DEBUG',true); to wp-config.php to enable display of notices during development.
if (defined('WP_DEBUG') and WP_DEBUG == true) {
error_reporting(E_ALL);
} else {
error_reporting(E_ALL ^ E_NOTICE ^ E_USER_NOTICE ^ E_DEPRECATED ^ E_USER_DEPRECATED ^ E_WARNING);
}
Di server hosting Spanel
Bersamaan dengan rilis Debian Squeeze/PHP 5.3, perubahan juga dilakukan untuk hal-hal berikut:
- Extension syck.so tidak tersedia lagi. Untuk parsing YAML, kini gunakanlah extension yaml.so.