We are still seeing a lot of issues with the PHP 5.3 upgrade we are rolling out. Please understand that this is an upgrade that has to happen. All software has to be upgraded eventually. This is why you do not see very many companies still using MSDOS 6 and Windows 3.1 or Windows 95/98. Microsoft stopped supporting those pieces of software and companies have to decide do they want to prop it up and support it in-house – which requires a ton of resources and means that you just fall further and further behind as future upgrades are delivered to the public – or they could upgrade and upgrade their underlying software and procedures to work with the updated operating system.
This is what is happening with PHP 5.3 (and later PHP 5.4 and PHP 6, and so on). We are having to upgrade in order to fall in line with what is publicly available. Unfortunately we do not have the resources to support PHP 5.2 on our own, and even if we did, we would have users wanting the features and benefits of PHP 5.3 and later versions, making it not only impossible to indefinitely support PHP 5.2, but also making it unwise.
I implore you to check the scripts you have installed on your website. Find out what version you have installed, what the latest version of that script is, and if that script is compatible with PHP 5.3. You should also check and make sure that any plugins, components, extensions, or themes, or anything pertaining to your scripts is up to date and compatible with PHP 5.3. We have seen some issues where a script, such as Zen Cart, is up to date, but an addon module being used on the Zen Cart install is not up to date and not compatible with PHP 5.3. This breaks the functionality of the website in PHP 5.3 even though the base script (in this case Zen Cart) is up to date.
Insuring that your scripts are up to date is the best way you can insure that your website will remain functioning when PHP is upgraded on your server.
How do you do this?
1. Know what scripts are installed on your website. Are you using a popular script or scripts to drive your website? Are you using a script that you downloaded from another website and installed on your website? Are you using a custom made script, either made by you or someone you hired? These are questions that you need to know the answers to. We can help you identify some of the scripts on your website, but unfortunately we can’t identify everything. For example, if you are using “Joe’s PHP Website Creator” to drive your website, we may not know anything about it. “Joe’s PHP Website Creator” (this is a fake script name we are using to underline the point that there are many non-descript PHP scripts available on the web) isn’t a very popular script so we have no way of identifying it. If you installed something on your website, you should know about it.
2. Know what extensions/components/plugins/addon modules/themes you have installed for this script on your website. These terms all just signify extra packages you can install inside a script on your website to extend it’s functionality. WordPress refers to these as plugins. Joomla! refers to these as components. The terms essentially mean the same thing. A theme is like an extension that tells the base script how to display information on your website. Unfortunately, these are all inside a script. We really don’t have a sure-fire way of identifying what plugins you have installed. For example, we have a procedure for identifying WordPress scripts installed on our servers. But we have no way of knowing what plugins and themes and extensions you have installed on that WordPress script. There are just too many plugins and extensions available for WordPress for us to be able to accurately identify them. The same is true for Joomla! and any other script.
3. Once you have a list of the installed scripts and their versions and the installed extensions for each of those scripts and their version, then you need to contact the developers of that script and find out if those versions are compatible with PHP 5.3.
Most of the popular scripts, such as WordPress and Joomla! have community forums where you can interact with other users of these scripts and ask questions. I would recommend asking there, if what you have installed is compatible with PHP 5.3. Note: I would not recommend disclosing your website in these community forums.
Some of the popular scripts and their support forums and communities are below:
WordPress – http://wordpress.org/support
Joomla! – http://forum.joomla.org
Drupal – http://drupal.org/forum
phpBB – http://www.phpbb.com/community
Gallery – http://gallery.menalto.com/forum
Coppermine – http://forum.coppermine-gallery.net
Zen Cart – http://www.zen-cart.com/forum.php
Moodle – http://moodle.org/forums
These are just some scripts, there are many other scripts available. You would just have to identify what scripts you have installed, what extensions you have installed, and then find a community forum or contact link for the developer of those scripts or extensions. Some scripts may not have a community forum and you may have to contact the developer directly.
If you are unable to find the developer or any contact information for the developer of the script or if the developer does not respond to your inquiries, then this can be a sign that the script you are using is an abandoned project. The problem with an abandoned project is that it is no longer being maintained. If you are using an abandoned project as a script on your website, then your website may be open to various, unknown, and unpatched security holes. If you find out that you are using an abandoned project, then you really need to investigate using a newer script. You can try and keep using the script with PHP 5.3, but there’s no guarantees that it will work with PHP 5.3. This is part of the price that is paid when you decide to use an abandoned and unmaintained script.
4. If you are using a custom made script, either written by you or if you hired someone to develop the script for you. You either need to contact that developer or research this yourself. If you wrote your own script, you should have an idea of what it does and how it does what it does. I would encourage you to read through PHP’s guide to migrating to PHP 5.3 from PHP 5.2:
5. Once you have identified if your scripts are compatible with PHP 5.3 or if there is an upgrade path available to you to make you PHP 5.3 compatible, I would recommend upgrading and following that path as soon as possible (assuming that the upgrade path is safe for non-PHP 5.3 environments). This will help insure that your website remains only when it is transitioned to PHP 5.3.
These are steps you can take to insure a smoother transition from PHP 5.2 to PHP 5.3 for your website. If you have used the same script for many months or many years without have to upgrade it or maintain it, then this is probably more of a sign that your script will not be compatible with PHP 5.3. The value of a script isn’t ranked by how few upgrades and few maintenance steps it requires, the true value of a script is how well it is maintained, how often the developers release updates to the script to fix security holes and other bugs. A developer or software group that ignores the progression of the PHP language and does not readily update their scripts performs poorer than a developer or software group that stays on top of the latest PHP language developments and how to properly utilize those developments.