2016-01-13 70 views
0

我有一些有问题的代码行array deferencing。如果主机的PHP 5.3或更低版本有时会出现这些问题。有没有办法在得到解析错误之前检测PHP版本?

是否有办法有这样那样的错误之前检测PHP版本,并给予适当的警告:

Parse error: syntax error, unexpected '[' in

+2

不是来自同一个脚本中 - 因为它是你的脚本甚至可以运行之前发生的解析错误。 – CBroe

+0

if(version_compare(phpversion(),'5.3.10','<')){ //写入代码。 } – jewelhuq

+0

没有这是不可能在同一页上。 –

回答

0

this得到它:

echo 'Current PHP version: ' . phpversion(); 

但只能从另一页。也许你应该使用一种内部重定向。

0

如果你有一些单次入境的引导文件,你可以把这样的事情有:

if (PHP_VERSION_ID < 50300) { 
    die('PHP 5.3 or higher is required'); 
} 

了很多进一步的提示和技巧见http://php.net/phpversion

考虑到这个检查需要在每一个页面加载上运行;虽然它不是很昂贵,但它仍然是还有一件事需要完成。只需清楚地记录您的版本要求或在安装脚本中进行一次检查即可,或者更明智。

还要考虑这个检查需要在一个文件中完成,该文件完全与PHP < 5.3兼容;如果在解析错误发生的同一个文件中,它也不能执行这个检查。

0

您可以使用version_compare

例如(从文档):

if (version_compare(PHP_VERSION, '5.3.0') >= 0) { 
    echo 'I am at least PHP version 5.3.0, my version: ' . PHP_VERSION . "\n"; 
} 
相关问题