diff --git a/composer.json b/composer.json
index c5c7ae81d88729532e357f808b3dcd3ee1721acc..711ee82b79a62f1bb4ffee725b3d205b09d5b457 100644
--- a/composer.json
+++ b/composer.json
@@ -7,6 +7,7 @@
   "license": "BSD-3-Clause",
   "require": {
     "php": ">=5.5.0",
+    "ext-grpc": "*",
     "google/protobuf": "v3.1.0-alpha-1"
   },
   "require-dev": {
diff --git a/examples/php/composer.json b/examples/php/composer.json
index e6409f87b43a36ef451c9e1b1ad0f57042ba7f0e..3d1a95d0045623557a291362e79d7ff1a28e0c0d 100644
--- a/examples/php/composer.json
+++ b/examples/php/composer.json
@@ -2,6 +2,7 @@
   "name": "grpc/grpc-demo",
   "description": "gRPC example for PHP",
   "require": {
+    "ext-grpc": "*",
     "grpc/grpc": "v1.0.0"
   }
 }
diff --git a/src/php/composer.json b/src/php/composer.json
index 6042094032121d91ac15cc61a12bf945a2857306..2d5d555bc295effd0a19171446d1c0e69f7d214a 100644
--- a/src/php/composer.json
+++ b/src/php/composer.json
@@ -8,6 +8,7 @@
   "version": "1.1.0",
   "require": {
     "php": ">=5.5.0",
+    "ext-grpc": "*",
     "google/protobuf": "v3.1.0-alpha-1"
   },
   "require-dev": {
diff --git a/templates/composer.json.template b/templates/composer.json.template
index accfb382a9999e8f519c72223649c9ef4c08042b..3b4d62f24dbd913a6837588ca6e95af649b49b7c 100644
--- a/templates/composer.json.template
+++ b/templates/composer.json.template
@@ -9,6 +9,7 @@
     "license": "BSD-3-Clause",
     "require": {
       "php": ">=5.5.0",
+      "ext-grpc": "*",
       "google/protobuf": "v3.1.0-alpha-1"
     },
     "require-dev": {
diff --git a/templates/src/php/composer.json.template b/templates/src/php/composer.json.template
index 7feeae976d8aacf63a51fefb7e4bdc35dcf00502..12a4ce8f83fe9157df4113f84f471898bac511f4 100644
--- a/templates/src/php/composer.json.template
+++ b/templates/src/php/composer.json.template
@@ -10,6 +10,7 @@
     "version": "${settings.php_version.php_composer()}",
     "require": {
       "php": ">=5.5.0",
+      "ext-grpc": "*",
       "google/protobuf": "v3.1.0-alpha-1"
     },
     "require-dev": {
diff --git a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
index cf5e888effb19c4ed072f44d1ddcd417f4296141..624d5877862426c5d7911c356d007e763176d515 100755
--- a/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_php/build_interop.sh
@@ -46,6 +46,6 @@ make install
 
 (cd third_party/protobuf && make install)
 
-(cd src/php && composer install)
+(cd src/php && php -d extension=ext/grpc/modules/grpc.so /usr/local/bin/composer install)
 
 (cd src/php && ./bin/generate_proto_php.sh)
diff --git a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
index e486e5276a8f40a572696383c10006549bbf53ec..87cb0fe4b21b80ad9705dd075e3c5cbab5ffe24c 100755
--- a/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
+++ b/tools/dockerfile/interoptest/grpc_interop_php7/build_interop.sh
@@ -46,6 +46,6 @@ make install
 
 (cd third_party/protobuf && make install)
 
-(cd src/php && composer install)
+(cd src/php && php -d extension=ext/grpc/modules/grpc.so /usr/local/bin/composer install)
 
 (cd src/php && ./bin/generate_proto_php.sh)
diff --git a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
index 34fd09f78b0e49ac812c5b7712a55da8c33c90f8..a671d1501f87c82111cf24ee4e6b358bfc216621 100755
--- a/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
+++ b/tools/dockerfile/stress_test/grpc_interop_stress_php/build_interop_stress.sh
@@ -48,6 +48,6 @@ make install
 
 (cd third_party/protobuf && make install)
 
-(cd src/php && composer install)
+(cd src/php && php -d extension=ext/grpc/modules/grpc.so /usr/local/bin/composer install)
 
 (cd src/php && ./bin/generate_proto_php.sh)