Những thay đổi khi nâng cấp lên php 5.3

Khi nâng cấp lên PHP 5.3, bạn cần kiểm tra vì nếu tự mình viết code hoặc thuê làm thì phải xem liệu các hàm hay biến ở phiên bản 5.2 có tương thích với 5.3 hay không để tránh xảy ra lỗi, khó có thể khôi phục được.

Trong phiên bản PHP 5.3, các hàm và biến của 5.2 sau sẽ không được chấp thuận, cụ thể:

PHP,ini function

  • call_user_method() (dùng call_user_func() thay thế)
  • call_user_method_array() (dùng call_user_func_array() thay thế)
  • define_syslog_variables()
  • dl()
  • ereg() (dùng preg_match() thay thế)
  • ereg_replace() (dùng preg_replace() thay thế)
  • eregi() (dùng preg_match() với ‘i’ modifier thay thế)
  • eregi_replace() (dùng preg_replace() với ‘i’ modifier thay thế)
  • set_magic_quotes_runtime() và its alias, magic_quotes_runtime()
  • session_register() (dùng the $_SESSION superglobal thay thế)
  • session_unregister() (dùng the $_SESSION superglobal thay thế)
  • session_is_registered() (dùng the $_SESSION superglobal thay thế
  • set_socket_blocking() (dùng stream_set_blocking() thay thế)
  • split() (dùng preg_split() thay thế)
  • spliti() (dùng preg_split() với ‘i’ modifier thay thế)
  • sql_regcase()
  • mysql_db_query() (dùng mysql_select_db() và mysql_query() thay thế)
  • mysql_escape_string() (dùng mysql_real_escape_string() thay thế)
  • Biến is_dst chuyển thành mktime(). Sử dụng hàm xử lý timezone mới thay thế.

Các biến cấu hình trong file php.ini sẽ bị lược bỏ (gây ra lỗi E_DEPRECATED  nếu sử dụng)

  • define_syslog_variables
  • register_globals
  • register_long_arrays
  • safe_mode
  • magic_quotes_gpc
  • magic_quotes_runtime
  • magic_quotes_sybase

Đồng thời, PHP 5.3 không hỗ trợ Zend Optimizer. Các phiên bản mã hóa của PHP 5.3 trở lên cần được sử dụng với Zend Guard Loader.