diff --git a/src/php/ext/grpc/call_credentials.c b/src/php/ext/grpc/call_credentials.c
index 06c6fc0566a3394eb7726b978c6de052bff1748a..285c4e7c85612ade2993be1c4beb62345fb7e65e 100644
--- a/src/php/ext/grpc/call_credentials.c
+++ b/src/php/ext/grpc/call_credentials.c
@@ -183,7 +183,9 @@ void plugin_get_metadata(void *ptr, grpc_auth_metadata_context context,
   zval *arg;
   zval *retval;
   MAKE_STD_ZVAL(arg);
-  ZVAL_STRING(arg, context.service_url, 1);
+  object_init(arg);
+  add_property_string(arg, "service_url", context.service_url, true);
+  add_property_string(arg, "method_name", context.method_name, true);
   params[0] = &arg;
   state->fci->param_count = 1;
   state->fci->params = params;
diff --git a/src/php/tests/interop/interop_client.php b/src/php/tests/interop/interop_client.php
index 45aa8bfc6bfe207e05ac46c736dbf2de35597017..ee604a387cc48dcb5557d4df0516c9cf81e0a49e 100755
--- a/src/php/tests/interop/interop_client.php
+++ b/src/php/tests/interop/interop_client.php
@@ -191,8 +191,10 @@ function oauth2AuthToken($stub, $args)
              'invalid email returned');
 }
 
-function updateAuthMetadataCallback($authUri)
+function updateAuthMetadataCallback($context)
 {
+    $authUri = $context->service_url;
+    $methodName = $context->method_name;
     $auth_credentials = ApplicationDefaultCredentials::getCredentials();
 
     return $auth_credentials->updateMetadata($metadata = [], $authUri);
diff --git a/src/php/tests/unit_tests/CallCredentialsTest.php b/src/php/tests/unit_tests/CallCredentialsTest.php
index aac21d4c492dc16ef34cbe0bfb53a022cc8ba70c..0918412781614ab4c662e2c21976dde12acad83d 100644
--- a/src/php/tests/unit_tests/CallCredentialsTest.php
+++ b/src/php/tests/unit_tests/CallCredentialsTest.php
@@ -69,9 +69,10 @@ class CallCredentialsTest extends PHPUnit_Framework_TestCase
         unset($this->server);
     }
 
-    public function callbackFunc($service_url)
+    public function callbackFunc($context)
     {
-        $this->assertTrue(is_string($service_url));
+        $this->assertTrue(is_string($context->service_url));
+        $this->assertTrue(is_string($context->method_name));
 
         return ['k1' => ['v1'], 'k2' => ['v2']];
     }