#include "zend_exceptions.h"
#include "zend_interfaces.h"
-#ifdef HAVE_SPL
+#if defined(HAVE_SPL) && ((PHP_MAJOR_VERSION > 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1))
extern PHPAPI zend_class_entry *spl_ce_RuntimeException;
extern PHPAPI zend_class_entry *spl_ce_Countable;
#endif
REGISTER_SQLITE_CLASS(Database, db, NULL);
REGISTER_SQLITE_CLASS(Result, query, NULL);
REGISTER_SQLITE_CLASS(Unbuffered, ub_query, NULL);
-#ifdef HAVE_SPL
+#if defined(HAVE_SPL) && ((PHP_MAJOR_VERSION > 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1))
REGISTER_SQLITE_CLASS(Exception, exception, spl_ce_RuntimeException);
#else
REGISTER_SQLITE_CLASS(Exception, exception, zend_exception_get_default());
sqlite_ce_ub_query->get_iterator = sqlite_get_iterator;
sqlite_ce_ub_query->iterator_funcs.funcs = &sqlite_ub_query_iterator_funcs;
-#ifdef HAVE_SPL
+#if defined(HAVE_SPL) && ((PHP_MAJOR_VERSION > 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1))
zend_class_implements(sqlite_ce_query TSRMLS_CC, 2, zend_ce_iterator, spl_ce_Countable);
#else
zend_class_implements(sqlite_ce_query TSRMLS_CC, 1, zend_ce_iterator);