I have a function in one of my PHP scripts that relies on version 5.3 to run.
I thought that if it was in a function that didn\'t happen to get called when run on a serv
There are numerous ways to solve this. I prefer detecting the version and executing function.
There is a function called phpversion() or constant PHP_VERSION
that gives you the current php version
Use them like
if(phpversion() == '5.3') {
//specific php functions
}
To check if the current version is newer or equal to lets say '5.3.2'. simply use:
if (strnatcmp(phpversion(),'5.3.2') >= 0) {
# equal or newer
}
else {
# not
}
Or, use version_compare to know
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n";
}
Or ever more user friendly version is to use function_exists()
if (!function_exists('function_name')) {
// the PHP version is not sufficient
}
Have a separate code file with your PHP 5.3+ code, and only include()
it if you detect 5.3 or greater.
You might look at implementing PHP 5.3+ functions if they don't exist.
if (!function_exists('array_replace')) {
function array_replace(....) {
// logic here
}
}
If you have to detect the version, you can use PHP_VERSION
.
Have a look at the PHP predefined constants. They include several constants that define the running version. You could use that to decide which version of a script to load.