Fix build with php 7.3+.
https://github.com/php-memcached-dev/php-memcached/issues/385
https://github.com/php-memcached-dev/php-memcached/pull/390
--- php_memcached.c.orig
+++ php_memcached.c
@@ -1298,7 +1298,7 @@ static PHP_METHOD(Memcached, __construct)
 		le.type = php_memc_list_entry();
 		le.ptr  = intern->memc;
 
-		GC_REFCOUNT(&le) = 1;
+		GC_SET_REFCOUNT(&le, 1);
 
 		/* plist_key is not a persistent allocated key, thus we use str_update here */
 		if (zend_hash_str_update_mem(&EG(persistent_list), ZSTR_VAL(plist_key), ZSTR_LEN(plist_key), &le, sizeof(le)) == NULL) {
@@ -3831,7 +3831,7 @@ PHP_METHOD(MemcachedServer, on)
 
 		Z_TRY_ADDREF(fci.function_name);
 		if (fci.object) {
-			GC_REFCOUNT(fci.object)++;
+			GC_ADDREF(fci.object);
 		}
 	}
 	RETURN_BOOL(rc);
--- php_memcached_private.h.orig
+++ php_memcached_private.h
@@ -72,6 +72,13 @@ typedef unsigned long int uint32_t;
 #  endif
 #endif
 
+/* Backwards compatibility for GC API change in PHP 7.3 */
+#if PHP_VERSION_ID < 70300
+#  define GC_ADDREF(p)            ++GC_REFCOUNT(p)
+#  define GC_DELREF(p)            --GC_REFCOUNT(p)
+#  define GC_SET_REFCOUNT(p, rc)  GC_REFCOUNT(p) = rc
+#endif
+
 /****************************************
   Structures and definitions
 ****************************************/
--- php_memcached_session.c.orig
+++ php_memcached_session.c
@@ -376,7 +376,7 @@ PS_OPEN_FUNC(memcached)
 		le.type = s_memc_sess_list_entry();
 		le.ptr  = memc;
 
-		GC_REFCOUNT(&le) = 1;
+		GC_SET_REFCOUNT(&le, 1);
 
 		/* plist_key is not a persistent allocated key, thus we use str_update here */
 		if (zend_hash_str_update_mem(&EG(persistent_list), plist_key, plist_key_len, &le, sizeof(le)) == NULL) {