As a followup I wanted to take a moment and explain why we are giving this notice and what has changed between PHP 5.2 and PHP 5.3 and how it may affect you.
PHP 5.3 has several features that have been deprecated, which means they are eventually being removed from PHP. A feature is deprecated when it is considered insecure or if they have just found a better way of doing it. In PHP 5.3 the deprecated features will show errors or warnings when used and in PHP 5.4 many of them will be removed completely.
For the most part you can just make sure any scripts you are using on your site are fully up to date. If you are not sure how to do this, we have a free tool that you can access within your cPanel account called Softaculous which will help you upgrade many scripts you have installed. Look for the Softaculous icon in cPanel and give it a try. If you are having trouble with Softaculous open a support ticket and one of our 24/7 support staff will help you figure it out.
There are 2 types of deprecated features; php.ini directives and functions. If you have written your own PHP code or hired somebody to do it these are the areas you will need to review in your code to make sure it is compatible with PHP 5.3. The php.ini directives are not something you need to worry about unless you have a custom php.ini file in your account somewhere.
Deprecated php.ini Directives (will cause an E_DEPRECATED error if used)
- 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 php.ini files.
Deprecated php.ini 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.
If you have a custom built site then we recommend that you try contacting the company that built it for you. In many cases they will be able to verify if any action is needed and often times quickly adjust your site to be PHP 5.3 compatible.
When the change to PHP 5.3 occurs you'll be able to switch your account back to PHP 5.2 by adding the following line into /home/account/.htaccess where account is the username you log into cPanel with.
Code:
AddHandler application/x-httpd-php52 .php