总是向PHP添加不同的功能和选项。尽管新版本通常不会产生太多的向后兼容性问题,但是编写谨慎的生产代码通常是明智的,您知道这些代码将在运行该语言稍旧版本的服务器上运行。
要检查当前使用的PHP版本,可以使用函数phpversion()或常量PHP_VERSION。函数和常量都返回一个包含版本号的字符串。可以使用两种方法来使用此信息,第一种方法是使用该explode()函数获取字符串并将其转换为数组。然后,使用此数组,您可以检查次要版本号并运行如下代码:
$version = explode('.', phpversion()); if ($version[0] >= 5 && $version[0] >= 1 && $version[0] >= 6) { // 系统将正常运行,什么也不做 } elseif ($version[0] >= 4 && $version[0] >= 4 && $version[0] >= 9) { // 包括5.1.6特定代码以填补传统系统中的空白 } else { // PHP版本低于4.4.9 die('You need to be running PHP v5.1.6 or higher to run this application.'); }
第二,可能更可靠的方法是使用该version_compare()功能。这是一个内置的PHP函数,可让您执行与上述相同的操作,但还将检查版本5.3.0-dev之类的预发布候选版本。该函数具有三个参数,前两个参数是必需的,它们是当前的PHP版本号和要比较的版本号。第三个参数是一个字符串,它允许您对版本号进行自己的比较。
$version = phpversion(); if (version_compare($version, '5.1.6') >= 0) { // 系统将正常运行,什么也不做 } elseif (version_compare($version, '4.4.9', '==') == true) { // 包括5.1.6特定代码以填补传统系统中的空白 } else { // PHP版本低于4.4.9 die('You need to be running PHP v5.1.6 or higher to run this application.'); }
在上述任何一种情况下,您都可以执行操作,但至少可以始终打印出某种形式的错误,以告知系统管理员他们需要更高版本的PHP才能运行该软件。这不是理想的选择,但是当您不得不停止支持遗留代码时,这一点很重要。