|
 |
phpversion (PHP 3, PHP 4, PHP 5) phpversion -- Gets the current PHP version Descriptionstring phpversion ( [string extension] )
Returns a string containing the version of the currently running
PHP parser. If the optional extension parameter is
specified, phpversion() returns the version of that
extension, or FALSE if there is no version information associated or
the extension isn't enabled.
Замечание:
This information is also available in the predefined constant
PHP_VERSION.
Пример 1. phpversion() example
<?php
echo 'Current PHP version: ' . phpversion();
echo phpversion('tidy');
?>
|
|
See also
version_compare(),
phpinfo(),
phpcredits(),
php_logo_guid(), and
zend_version().
phpversion
Sayid say at id dot or dot id, godril at lesehan dot or dot id
14-Jul-2006 04:33
When PHP is running under fastcgi, script from ground-pilot at net-pilots.com didn't work as expected. Otherwise, the php (fcgi one) is waiting for input and causing idle php-cgi processes showed in 'ps aux'. I think this is because in fastcgi mode, direct execution to php fcgi binary is waiting for input. So, giving it /dev/null as input is a workaround for this situation.
First, we build a script from PHP which we will executed and then unlink() it after a success. The output script might look like:
<?
$script=<<<HEREDOC
#!/bin/sh
/usr/local/bin/php-cgi -v < /dev/null \n
HEREDOC;
$file = "/tmp/phpgetvercmd" . rand ( );
$fh = fopen ( $file , "w" );
fwrite ( $fh, $script );
fclose ( $fh );
chmod ( $file, 0755 );
echo trim( substr ( shell_exec ( $file ), 3, 6 ) );
unlink ( $file );
?>
25-Oct-2005 10:08
The version 4.3.10-16 does not "respect" the requiement for the above code. Use this fuction.
sample call:
if(!check_version(PHP_VERSION, "4.1.0") )
{
echo 'Current PHP version: ' . PHP_VERSION . ' is too low for this code!<p>';
}
Function:
# Compares versions of software
# versions must must use the format ' x.y.z... '
# where (x, y, z) are numbers in [0-9]
function check_version($currentversion, $requiredversion)
{
list($majorC, $minorC, $editC) = split('[/.-]', $currentversion);
list($majorR, $minorR, $editR) = split('[/.-]', $requiredversion);
if ($majorC > $majorR) return true;
if ($majorC < $majorR) return false;
// same major - check ninor
if ($minorC > $minorR) return true;
if ($minorC < $minorR) return false;
// and same minor
if ($editC >= $editR) return true;
return false;
}
nick at divbyzero dot com
28-Jul-2005 01:06
Of course, if you want to COMPARE versions, you can't just compare them numerically, so try something like:
<?php
echo phpversion()."\n"; $v2 = preg_replace("/[^0-9\.]+/","",phpversion()); $v=$v2-0; $v2=substr($v2,strlen($v."")+1); echo $v." ".$v2."\n";
echo ($v>4.3 || ($v==4.3 && $v2>=1))."\n"; ?>
ground-pilot at net-pilots.com
22-Jan-2005 11:52
Difference from bleeding edge server and production server where I couldn't use the phpversion() function. Came up with this to grab it from the command line instead. Note that the 'command line' version result , and 'http server api' version result could be two or more different versions, and not matching each other. So this may return a misleading value for your environment? Be careful if you have updated the web server api and not the command line, or visa-versa. ;)
But for me - it works.
<?php
$PHP_VERSION = get_my_phpver();
echo "PHP_VERSION = $PHP_VERSION<br>";
function get_my_phpver() {
$my_phpver = trim(substr(shell_exec('php -v'), 3, 6));
return $my_phpver;
}
?>
Of course this would also do the trick...
<?php
$PHP_VERSION = trim(substr(shell_exec('php -v'), 3, 6));
echo "PHP_VERSION = $PHP_VERSION<br>";
?>
And as always, there are OTHER method, but this works for me.
Hope this helps someone else out as well. :)
| |