Here is the small php example :
echo '<pre>';
// Execute httpd.exe -V to find apache version
exec('"E:\Program Files\AMPPS\apache\bin\httpd.exe" -V', $out, $ret);
// preg_replace_callback to fetch version
echo $apver = preg_replace_callback('/Server version: Apache\/(.*?) \((.*?)\)/is', function ($matches){ return $apache_version = trim($matches[1]); } ,$out[0]);
echo "\n";
echo "\n";
// Test this file with PHP 5.3
exec('"E:\Program Files\AMPPS\php\php.exe" -l "'.__FILE__.'"', $out1, $ret1);
print_r(array($out1, $ret1));
// Test this file with PHP 5.2
exec('"E:\Program Files\AMPPS\php-5.2\php.exe" -l "'.__FILE__.'"', $out2, $ret2);
print_r(array($out2, $ret2));
Output :
2.4.6
Array
(
[0] => Array
(
[0] => No syntax errors detected in E:\Program Files\AMPPS\www\preg_replace.php
)
[1] => 0
)
Array
(
[0] => Array
(
[0] =>
[1] => Parse error: syntax error, unexpected T_FUNCTION in E:\Program Files\AMPPS\www\preg_replace.php on line 5
[2] => Errors parsing E:\Program Files\AMPPS\www\preg_replace.php
)
[1] => -1
)
I need a syntax that will work in both PHP 5.2 and 5.3.
Thanks.