This answer only applies to customers with websites on Web hosting Medium or larger.
We discontinued PHP 4 support at the start of 2010. Customers whose websites were on webservers with PHP 4 who did not themselves upgrade were automatically upgraded by our systems, regardless of whether they use PHP or not — we do not keep track of whether PHP is used or not.
Websites that do not use PHP can therefore still be affected by the upgrade.
If someone else have installed the software or made the web pages for you, contact them, and ask them to read this webpage. Based on this information, they ought to be able to solve any problems you experience.
- Checklist for webmasters
- Known problems
- Background
Checklist
- Check that the software you're using is upgraded to the most recent version, and that this version supports PHP 5. If it does not support PHP 5, you must switch to software that supports PHP 5.
(The most recent versions of Coppermine, eZ Publish, Gallery, Joomla, Mambo, phpBB, WordPress, etc. support PHP 5)
- Check that you do not have any files with filenames ending with
.php4
. Our PHP 5 webservers will not see these as PHP files, since you have explicitly said that they belong to version 4. Use the .php
suffix if you think the software is safe to use with PHP 5 and future versions, or .php5
if you think they are safe to use only with PHP 5.
- Double-check that files with database passwords, administration password etc. are not readable for others. These files typically have names similar to
config.php
, configuration.php
or settings.php
.
- Remember that no files or directories/folders must be writable for others (
chmod 666
, chmod 777
etc. are dangerous)! If files/folders are writable for others, then this will lead to problems for your webpages. After upgrading your software, you need to re-check this, since some PHP software needlessly makes files/folders writable for others.
- Make sure that you do not rely on register_globals, but instead use
$_REQUEST
, $_GET
, $_POST
etc. to fetch input variables from e.g. web forms. PHP disabled register_globals by default in 2002, and the support for this is completely removed as of PHP 5.3.
- If you depend on changing some PHP configuration parameters, then you cannot do this in
.htaccess
, use your own php.ini instead.
- Our PHP 5 servers use Apache 2.2. Some configuration parameters for
.htaccess
may therefore be different. See the documentation for runtime parameters from 1.3 to 2.0, and from 2.0 to 2.2.
- The shell (login) server for our customers was replaced in November 2009, and the old server was switched off January 4th, 2010. The new shell server has the same software as our webservers, but does not support telnet, only SSH login.
Known problems
The known problems mentioned below can usually be fixed by following the checklist above.
- Web publishing may cease to work for customers with outdated PHP or CGI software.
- Web forms may cease functioning because register_globals is disabled.
- This also applies to links like
show_page.php?page=42
, the variable $page
is not set automatically, but $_GET["page"]
is.
- Use of URLs ("http://" etc.) in include()/require() does not work, and will result in an error message.
- Ancient OSCommerce versions have several known problems with PHP 5. OSCommerce is not an actively maintained product, but the last available versions will work with PHP 5. Customers who do not depend strongly on OSCommerce are recommended to find alternative software.
- Internal Server Error is a message that can appear either when you have PHP directives in
.htaccess
, or you have made files or folders writable for others. Programs written as CGI (Perl, Python, Ruby etc.) may also see the same error message for the same reasons, and because of incompatibilites between the old and new versions of Perl/Python/Ruby installed on our new webservers.
- There are other functional differences between PHP 4 and PHP 5.2, which is the version we're currently offering. These are described in detail in PHP's migration pages.
- Some of our PHP 4 users may now be exceeding the "hard" disk quota, because they earlier had many files belonging to the "www" user. This was not detectable while using the PHP 4 systems, but it is now. If you find yourself using more disk space than you are paying for, you will not be able to upload new files, and your installed software may malfunction if it cannot write new files. In this case, you need to upgrade to a larger webhotel or remove unused files.
- A domain name may appear as "parked with Domainnameshop" to customers using their own nameservers who have not yet updated their DNS records to the new servers.
- Old software can make assumptions about how webservers work, assumptions which are no longer correct because of the upgrade. This can lead to "strange" behaviour, instability and other problems we do not specifically know of. Upgrade your software.
Background
PHP 4 reached its end of life in December 2007, and the final security update from PHP.net was August 8, 2008.
We notified our customers about the discontinuation process in periodical service announcements, starting in the autumn of 2008, as well as in newsletters sent to all subscribing customers in March and November 2009.
In November 2009, we contacted administrators for domains with dedicated IP-adresses, e.g. for SSL certificates.
In January 2010, we contacted the administrators of domains we could see were using external name servers, so that they could update their DNS records after the upgrade.