Hi: about #55311.https://bugs.php.net/bug.php?id=55311
I found it maybe for some reason, that somebody change the if/elseif sequence to make this bug. but I am not sure about why he do this, so I refer to maillist, any idea? Index: Zend/zend_object_handlers.c =================================================================== --- Zend/zend_object_handlers.c (revision 313905) +++ Zend/zend_object_handlers.c (working copy) @@ -988,13 +988,13 @@ if (!fbc && zend_hash_find(&ce->function_table, lc_function_name, function_name_strlen+1, (void **) &fbc)==FAILURE) { efree(lc_function_name); - if (ce->__call && + if (ce->__callstatic) { + return zend_get_user_callstatic_function(ce, function_name_strval, function_name_strlen); + } else if (ce->__call && EG(This) && Z_OBJ_HT_P(EG(This))->get_class_entry && instanceof_function(Z_OBJCE_P(EG(This)), ce TSRMLS_CC)) { return zend_get_user_call_function(ce, function_name_strval, function_name_strlen); - } else if (ce->__callstatic) { - return zend_get_user_callstatic_function(ce, function_name_strval, function_name_strlen); } else { return NULL; } -- Laruence Xinchen Hui http://www.laruence.com/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php