Yes, just moving the ARRAY cases in zend_API.c and zend_variables.c stopped the error, and so far it *seems* to work. that can't be real fix, but i hope it is helpful (diffs attached)
Brad Bulger wrote:
this is with current php-src: it looks related to recent changes to zend_API, maybe, i haven't tracked it down yet, figured someone here
could do that faster - and fix it too, heh:
sh-2.05a# php -v PHP 5.0.0b2-dev (cli) (built: Aug 24 2003 12:40:08) (DEBUG)
sh-2.05a# php -r 'class foo { var $x = array(); }'
Fatal error: Internal zval's can't be arrays, objects or resources in Unknown on line 0
Index: zend_API.c
===================================================================
RCS file: /repository/ZendEngine2/zend_API.c,v
retrieving revision 1.210
diff -u -r1.210 zend_API.c
--- zend_API.c 24 Aug 2003 18:47:11 -0000 1.210
+++ zend_API.c 24 Aug 2003 22:03:31 -0000
@@ -1630,12 +1630,12 @@
target_symbol_table = &ce->default_properties;
}
switch(Z_TYPE_P(property)) {
- case IS_ARRAY:
- case IS_CONSTANT_ARRAY:
case IS_OBJECT:
case IS_RESOURCE:
- zend_error(E_CORE_ERROR, "Internal zval's can't be arrays,
objects or resources");
+ zend_error(E_CORE_ERROR, "zend_API: Internal zval's can't be
arrays, objects or resources");
break;
+ case IS_ARRAY:
+ case IS_CONSTANT_ARRAY:
default:
break;
}
Index: zend_variables.c
===================================================================
RCS file: /repository/ZendEngine2/zend_variables.c,v
retrieving revision 1.53
diff -u -r1.53 zend_variables.c
--- zend_variables.c 24 Aug 2003 17:32:47 -0000 1.53
+++ zend_variables.c 24 Aug 2003 22:03:55 -0000
@@ -90,12 +90,12 @@
free(zvalue->value.str.val);
}
break;
- case IS_ARRAY:
- case IS_CONSTANT_ARRAY:
case IS_OBJECT:
case IS_RESOURCE:
- zend_error(E_CORE_ERROR, "Internal zval's can't be arrays,
objects or resources");
+ zend_error(E_CORE_ERROR, "zend_variables: Internal zval's
can't be arrays, objects or resources");
break;
+ case IS_ARRAY:
+ case IS_CONSTANT_ARRAY:
case IS_LONG:
case IS_DOUBLE:
case IS_BOOL:-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
