我有一些有问题的代码行array deferencing。如果主机的PHP 5.3或更低版本有时会出现这些问题。有没有办法在得到解析错误之前检测PHP版本?
是否有办法有这样那样的错误之前检测PHP版本,并给予适当的警告:
Parse error: syntax error, unexpected '[' in
我有一些有问题的代码行array deferencing。如果主机的PHP 5.3或更低版本有时会出现这些问题。有没有办法在得到解析错误之前检测PHP版本?
是否有办法有这样那样的错误之前检测PHP版本,并给予适当的警告:
Parse error: syntax error, unexpected '[' in
如果你有一些单次入境的引导文件,你可以把这样的事情有:
if (PHP_VERSION_ID < 50300) {
die('PHP 5.3 or higher is required');
}
了很多进一步的提示和技巧见http://php.net/phpversion。
考虑到这个检查需要在每一个页面加载上运行;虽然它不是很昂贵,但它仍然是还有一件事需要完成。只需清楚地记录您的版本要求或在安装脚本中进行一次检查即可,或者更明智。
还要考虑这个检查需要在一个文件中完成,该文件完全与PHP < 5.3兼容;如果在解析错误发生的同一个文件中,它也不能执行这个检查。
您可以使用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";
}
不是来自同一个脚本中 - 因为它是你的脚本甚至可以运行之前发生的解析错误。 – CBroe
if(version_compare(phpversion(),'5.3.10','<')){ //写入代码。 } – jewelhuq
没有这是不可能在同一页上。 –