- if (psi_check_env("PSI_DUMP")) {
- psi_context_dump(PSI_G(context), STDOUT_FILENO);
+static PHP_MINIT_FUNCTION(psi)
+{
+ zend_class_entry ce = {0};
+ unsigned flags = 0;
+
+ REGISTER_INI_ENTRIES();
+
+ zend_register_long_constant(ZEND_STRL("PSI_DEBUG"), PSI_DEBUG, CONST_CS|CONST_PERSISTENT, module_number);
+ zend_register_long_constant(ZEND_STRL("PSI_SILENT"), PSI_SILENT, CONST_CS|CONST_PERSISTENT, module_number);
+
+ INIT_NS_CLASS_ENTRY(ce, "psi", "object", NULL);
+ psi_class_entry = zend_register_internal_class_ex(&ce, NULL);
+ psi_class_entry->create_object = psi_object_init;
+
+ memcpy(&psi_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
+ psi_object_handlers.offset = XtOffsetOf(psi_object, std);
+ psi_object_handlers.free_obj = psi_object_free;
+ psi_object_handlers.clone_obj = NULL;
+
+ if (SUCCESS != psi_ops_load()) {
+ return FAILURE;