diff --git a/lib/manager/composer/types.ts b/lib/manager/composer/types.ts
index b5df7f99c1abbd3be86762b954510fca4a948c90..65e9c3fe7ad6cc1b9b46f81f610d35e0332f9b21 100644
--- a/lib/manager/composer/types.ts
+++ b/lib/manager/composer/types.ts
@@ -8,6 +8,17 @@ export interface Repo {
 }
 export interface ComposerConfig {
   type?: string;
+  /**
+   * Setting a fixed PHP version (e.g. {"php": "7.0.3"}) will let you fake the
+   * platform version so that you can emulate a production env or define your
+   * target platform in the config.
+   * See https://getcomposer.org/doc/06-config.md#platform
+   */
+  config?: {
+    platform?: {
+      php?: string;
+    };
+  };
   /**
    * A repositories field can be an array of Repo objects or an object of repoName: Repo
    * Also it can be a boolean (usually false) to disable packagist.
diff --git a/lib/manager/composer/utils.spec.ts b/lib/manager/composer/utils.spec.ts
index 563ff991fc239400b0e228b14ca6ac333b4b02a1..47de19bd1a8628a6326d61a2b65ed6fa8faab623 100644
--- a/lib/manager/composer/utils.spec.ts
+++ b/lib/manager/composer/utils.spec.ts
@@ -18,6 +18,18 @@ describe('manager/composer/utils', () => {
       ).toEqual({ php: '>=5.3.2', composer: '1.1.0' });
     });
 
+    it('returns platform php version', () => {
+      expect(
+        extractContraints(
+          {
+            config: { platform: { php: '7.4.27' } },
+            require: { php: '~7.4 || ~8.0' },
+          },
+          {}
+        )
+      ).toEqual({ composer: '1.*', php: '7.4.27' });
+    });
+
     it('returns from require-dev', () => {
       expect(
         extractContraints(
diff --git a/lib/manager/composer/utils.ts b/lib/manager/composer/utils.ts
index d17fe86a9d3ffd1fdd1675b14f36b5ef894c7b5d..b2b0d31fe582c929826482cc2026baa533a37fb3 100644
--- a/lib/manager/composer/utils.ts
+++ b/lib/manager/composer/utils.ts
@@ -69,8 +69,10 @@ export function extractContraints(
   const res: Record<string, string> = { composer: '1.*' };
 
   // extract php
-  if (composerJson.require?.php) {
-    res.php = composerJson.require?.php;
+  if (composerJson.config?.platform?.php) {
+    res.php = composerJson.config.platform.php;
+  } else if (composerJson.require?.php) {
+    res.php = composerJson.require.php;
   }
 
   // extract direct composer dependency