Cambios internos en PHP
  
  
   - 
    
     Las extensiones ya no pueden sobrescribir zend_execute(), por lo que
     deberían sobrescribir en su lugar zend_execute_ex().
     EG(current_execute_data) ya están inicializado en
     zend_execute_ex(), por lo que pordría ser necesario el empleo de
     EG(current_execute_data)->prev_execute_data en su lugar para que
     las extensiones sean compatibles.
    
   
- 
    
     Se eliminó EG(arg_types_stack),
     EX(fbc), EX(called_scope) y
     EX(current_object).
    
   
- 
    
     Se añadió op_array->nested_calls, la cual se calcula
     en tiempo de compilación.
    
   
- 
    
     Se añadió EX(call_slots), la cual es un array para almacenar
     información sobre llamadas anidadas sintácticamente (p.ej.,
     foo(bar())) y es preasignada junto con
     execute_data.
    
   
- 
    
     Se añadió EX(call), la cual es un puntero a la función
     llamada en uso; es un elemento de EX(call_slots).
    
   
- 
    
     Los códigos de operación
     INIT_METHOD_CALL,
     ZEND_INIT_STATIC_METHOD_CALL,
     ZEND_INIT_FCALL_BY_NAME
     y
     ZEND_INIT_NS_FCALL_BY_NAME
     emplean result.num como índice en
     EX(call_slots).
    
   
- 
    
     El código de operación ZEND_NEW emplea
     extended_value como índice en
     EX(call_slots).
    
   
- 
    
     Los códigos de operación ZEND_DO_FCALL
     y
     ZEND_DO_FCALL_BY_NAME
     emplean op2.num como índice en
     EX(call_slots).
    
   
- 
    
     Se añadió op_array->used_stack, la cual es calculada en
     tiempo de compilación; el espacio de pila correspondiente es preasignado junto con
     execute_data. Como resultado, los códigos de operación ZEND_SEND* y
     ZEND_DO_FCALL* ya no necesitan verificar desbordamientos de pila.
    
   
- 
    
     Se eliminó el campo execute_data->Ts. Las variables temporales de
     la máquina virtual se asignan siempre inmediatamente antes de la estructura
     execute_data, por lo que ahora se pueden acceder a dichas variables por su
     índice desde el puntero base de execute_data en lugar de
     mediante execute_data->Ts. El compilador almacena los nuevos
     índices en op_array->opcodes[*].op?.num. Las macros
     EX_TMP_VAR() y EX_TMP_VAR_NUM()
     se pueden usar para acceder a las variables temporales por el índice o número. Se
     puede convertir el número a un índice mediante EX_TMP_VAR_NUM(0,
     num) o convertir de índice a número mediante
     (EX_TMP_VAR_NUM(0,0)-EX_TMP_VAR(0,offset)).
    
   
- 
    
     Se eliminó el campo execute_data->CVs. La variables compiladas de
     la máquina virtual son siempre asignadas inmediantamente después de la estructura
     execute_data, or lo que ahora se pueden acceder a dichas variables por su
     índice desde el puntero base de execute_data en lugar de
     vmedianteia execute_data->CVs. Se puede emplear la macro
     EX_CV_NUM() para acceder a dichas variables compiladas mediante
     el número.