我有一些有问题的代码行array deferencing。如果主机具有PHP 5.3或更低版本,有时这些行会导致问题。
有没有办法检测PHP版本并在出现此类错误之前给出正确的警告:
解析错误:语法错误,
中的意外'['
答案 0 :(得分:0)
答案 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";
}