Knowledgebase: PHP and Apache
PHP Upgrade Broke My Website
Posted by H9 Admin on 14 January 2015 03:31 PM

This is mostly caused by the script used not supporting PHP 5.3, which deprecates various functions and directives. Your software will need to either be updated to the latest version or adjusted to work with PHP 5.3.

Deprecated Features in PHP 5.3.x

PHP 5.3.0 introduces two new error levels: E_DEPRECATED and E_USER_DEPRECATED. The E_DEPRECATED error level is used to indicate that a function or feature has been deprecated. The E_USER_DEPRECATED level is intended for indicating deprecated features in user code, similarly to the E_USER_ERROR and E_USER_WARNING levels.

The following is a list of deprecated INI directives. Use of any of these INI directives will cause an E_DEPRECATED error to be thrown at startup:

  • define_syslog_variables

  • register_globals 

  • register_long_arrays 

  • safe_mode 

  • magic_quotes_gpc 

  • magic_quotes_runtime 

  • magic_quotes_sybase 

  • Comments starting with '#' are now deprecated in .INI files

Deprecated functions:

  • call_user_method() (use call_user_func() instead)

  • call_user_method_array() (use call_user_func_array() instead) 

  • define_syslog_variables() 

  • dl() 

  • ereg() (use preg_match() instead) 

  • ereg_replace() (use preg_replace() instead) 

  • eregi() (use preg_match() with the 'i' modifier instead) 

  • eregi_replace() (use preg_replace() with the 'i' modifier instead) 

  • set_magic_quotes_runtime() and its alias, magic_quotes_runtime() 

  • session_register() (use the $_SESSION superglobal instead) 

  • session_unregister() (use the $_SESSION superglobal instead) 

  • session_is_registered() (use the $_SESSION superglobal instead) 

  • set_socket_blocking() (use stream_set_blocking() instead) 

  • split() (use preg_split() instead) 

  • spliti() (use preg_split() with the 'i' modifier instead) 

  • sql_regcase() 

  • mysql_db_query() (use mysql_select_db() and mysql_query() instead) 

  • mysql_escape_string() (use mysql_real_escape_string() instead) 

  • Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead. 

  • The is_dst parameter to mktime(). Use the new timezone handling functions instead. 

Deprecated features:

  • Assigning the return value of new by reference is now deprecated.

  • Call-time pass-by-reference is now deprecated. 

Original PHP article on this is available here


See also Modify the PHP Version on Your DomainUse Alternate PHP Installations 

(0 vote(s))
This article was helpful
This article was not helpful

Comments (0)
Post a new comment
Full Name:
Help Desk Software by Kayako fusion