--- php-5.3.1/main/main.c	2009-10-28 16:19:32.000000000 +0100
+++ active-3.1/main/main.c	2009-12-02 13:23:20.000000000 +0100
@@ -444,7 +444,8 @@
 	STD_PHP_INI_BOOLEAN("xmlrpc_errors",		"0",		PHP_INI_SYSTEM,		OnUpdateBool,			xmlrpc_errors,			php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("xmlrpc_error_number",	"0",		PHP_INI_ALL,		OnUpdateLong,			xmlrpc_error_number,	php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("max_input_time",			"-1",	PHP_INI_SYSTEM|PHP_INI_PERDIR,		OnUpdateLong,			max_input_time,	php_core_globals,	core_globals)
-	STD_PHP_INI_BOOLEAN("ignore_user_abort",	"0",		PHP_INI_ALL,		OnUpdateBool,			ignore_user_abort,		php_core_globals,	core_globals)
+    STD_PHP_INI_BOOLEAN("ignore_include_warning",    "0",   PHP_INI_ALL,        OnUpdateBool,           ignore_include_warning, php_core_globals,   core_globals)
+    STD_PHP_INI_BOOLEAN("ignore_user_abort",	"0",		PHP_INI_ALL,		OnUpdateBool,			ignore_user_abort,		php_core_globals,	core_globals)
 	STD_PHP_INI_BOOLEAN("implicit_flush",		"0",		PHP_INI_ALL,		OnUpdateBool,			implicit_flush,			php_core_globals,	core_globals)
 	STD_PHP_INI_BOOLEAN("log_errors",			"0",		PHP_INI_ALL,		OnUpdateBool,			log_errors,				php_core_globals,	core_globals)
 	STD_PHP_INI_ENTRY("log_errors_max_len",	 "1024",		PHP_INI_ALL,		OnUpdateLong,			log_errors_max_len,		php_core_globals,	core_globals)
--- php-5.3.1/main/php_globals.h	2009-10-09 21:06:10.000000000 +0200
+++ active-3.1/main/php_globals.h	2009-12-02 13:25:43.000000000 +0100
@@ -113,6 +113,7 @@
 
 	short connection_status;
 	short ignore_user_abort;
+	short ignore_include_warning;
 
 	unsigned char header_is_being_sent;
 
--- php-5.3.1/Zend/zend_language_scanner.l	2009-12-04 05:59:49.000000000 +0100
+++ active-3.1/Zend/zend_language_scanner.l	2009-12-03 10:07:14.000000000 +0100
@@ -332,7 +332,7 @@
 		if (type==ZEND_REQUIRE) {
 			zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
 			zend_bailout();
-		} else {
+		} else if(0/*CG(ignore_include_warning)*/) {
 			zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
 		}
 		compilation_successful=0;
@@ -837,6 +837,7 @@
 DNUM	([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*)
 EXPONENT_DNUM	(({LNUM}|{DNUM})[eE][+-]?{LNUM})
 HNUM	"0x"[0-9a-fA-F]+
+BNUM    "0b"[01]+
 LABEL	[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
 WHITESPACE [ \n\r\t]+
 TABS_AND_SPACES [ \t]*
@@ -1106,8 +1107,8 @@
 	return T_GLOBAL;
 }
 
-<ST_IN_SCRIPTING>"ifset" {
-    return T_IFSET;
+<ST_IN_SCRIPTING>"isset" {
+	return T_ISSET;
 }
 
 <ST_IN_SCRIPTING>"empty" {
@@ -1206,6 +1207,14 @@
 	return T_DIV_EQUAL;
 }
 
+<ST_IN_SCRIPTING>"\\\\" {
+    return T_DII;
+}
+
+<ST_IN_SCRIPTING>"\\=" {
+	return T_DII_EQUAL;
+}
+
 <ST_IN_SCRIPTING>".=" {
 	return T_CONCAT_EQUAL;
 }
@@ -1326,6 +1335,27 @@
 	return T_LNUMBER;
 }
 
+<ST_IN_SCRIPTING>{BNUM} {
+	char *bin = yytext + 2; /* Skip "0b" */
+	int len = yyleng - 2;
+
+	/* Skip any leading 0s */
+	while (*bin == '0') {
+		bin++;
+		len--;
+	}
+
+	if (len < SIZEOF_LONG * 2) {
+		zendlval->value.lval = strtol(bin, NULL, 2);
+		zendlval->type = IS_LONG;
+		return T_LNUMBER;
+	} else {
+		zendlval->value.dval = zend_bin_strtod(bin);
+		zendlval->type = IS_DOUBLE;
+		return T_DNUMBER;
+	}
+}
+
 <ST_IN_SCRIPTING>{HNUM} {
 	char *hex = yytext + 2; /* Skip "0x" */
 	int len = yyleng - 2;
@@ -1359,7 +1389,7 @@
 	return T_NUM_STRING;
 }
 
-<ST_VAR_OFFSET>{LNUM}|{HNUM} { /* Offset must be treated as a string */
+<ST_VAR_OFFSET>{LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */
 	zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
 	zendlval->value.str.len = yyleng;
 	zendlval->type = IS_STRING;
