Cross-Platform Code 5: Checking the PHP Version with phpversion() and version_compare()
If you only want your script to work on certain versions of PHP, there are two functions just for you: phpversion()
and version_compare()
. The first takes no parameters, and returns a string containing the version number of the current version of PHP. The second takes two parameters, which should be two version strings of the type returned by phpversion()
, and returns -1 if the first version is lower than the second, 0 if they are the same, and 1 if the first version is higher than the second.
$CurrentVer = phpversion() print "Current PHP version: $CurrentVer\n"; switch (version_compare($CurrentVer, '5.0.0') { case -1: print "You're running an old PHP: $CurrentVer\n"; break; case 0: print "You are running PHP 5\n"; break; case 1: print "You are running a version of PHP after 5.0.0: $CurrentVer\n"; }
That should output "Current PHP version: <your version here>
", then either "You are running PHP 5
" or "You are running a version of PHP after 5.0.0: <your version here>
". Internally, this is actually a very advanced function, as it automatically distinguishes between development code, alpha, beta, and release candidate versions, and it allows you to check an arbitrary amount of version numbers. For example: 5.0.0b1 < 5.0.0RC1-dev < 5.0.0RC1 < 5.0.0RC2 < 5.0.0 < 5.0.0.0.0.0.1 < 5.0.1, etc.
What's more, there's nothing to say you have to use the PHP version for your checks. For example, if you are distributing ...
Get PHP in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.