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