有没有办法在解析错误之前检测PHP版本?

时间:2016-01-13 09:54:47

标签: php

我有一些有问题的代码行array deferencing。如果主机具有PHP 5.3或更低版本,有时这些行会导致问题。

有没有办法检测PHP版本并在出现此类错误之前给出正确的警告:

  

解析错误:语法错误,

中的意外'['

3 个答案:

答案 0 :(得分:0)

this得到它:

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

但仅限于另一页。也许你应该使用一种内部重定向。

答案 1 :(得分:0)

如果您有一些单项自举文件,您可以在其中添加以下内容:

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

有关更多提示和技巧,请参阅http://php.net/phpversion

考虑这个检查需要在每个页面加载上运行;虽然它不是很贵,但还需要做一件事。只需清楚地记录您的版本要求或在安装脚本中执行此检查,或者这样做可能更合理。

还要考虑这项检查需要在与PHP&lt; 5.3;完全兼容的文件中完成。如果在引发解析错误的同一文件中,它也将无法执行此检查。

答案 2 :(得分: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";
}