如果PHP版本的条件忽略新代码
作者:互联网
所以我有一个需要在几个站点上运行的脚本.我有一个版本的脚本,使用一些新的PHP 5.3函数进行了优化,但有些站点是5.2等.
这段代码:
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
Do the optimised 5.3 code (Although 5.2 throws syntax errors for it)
} else {
do the slower version of code
}
但是,在5.2服务器上,它将检测第一个if条件中的“语法错误”,即使它在技术上应该跳过该内容,我知道PHP仍然会扫描整个文件.
如果完全忽略第一个怎么能得到5.2(我知道我可以用“@”来忽略错误,但那感觉就像在作弊?)
解决方法:
您可以根据版本包含不同的脚本,然后在该版本中永远不会包含具有5.2中无效语法的脚本.
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
include("script53.php");
} else {
include("script52.php");
}
标签:php-5-3,php,version,php-5-2 来源: https://codeday.me/bug/20190825/1714848.html