我有一些有問題的代碼行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
沒有這是不可能在同一頁上。 –