Create a separate InternalDescriptorPool method to see if that fixes preloading.
diff --git a/php/ext/google/protobuf/def.c b/php/ext/google/protobuf/def.c
index 1ae5c4d..ac24400 100644
--- a/php/ext/google/protobuf/def.c
+++ b/php/ext/google/protobuf/def.c
@@ -1020,8 +1020,21 @@
zend_class_entry *InternalDescriptorPool_class_entry;
+/*
+ * InternalDescriptorPool::getGeneratedPool()
+ *
+ * Returns the generated DescriptorPool. Note that this is identical to
+ * DescriptorPool::getGeneratedPool(), and in fact returns a DescriptorPool
+ * instance.
+ */
+PHP_METHOD(InternalDescriptorPool, getGeneratedPool) {
+ zval ret;
+ ZVAL_COPY(&ret, get_generated_pool());
+ RETURN_ZVAL(&ret, 0, 1);
+}
+
static zend_function_entry InternalDescriptorPool_methods[] = {
- PHP_ME(DescriptorPool, getGeneratedPool, NULL,
+ PHP_ME(InternalDescriptorPool, getGeneratedPool, NULL,
ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
};