An application resolved against PHP 7.3 locally and deployed to a 7.2 server fails at some arbitrary point in the request, in a library, with an error nobody connects to the runtime version.
$ composer config platform.php 7.2.24
$ composer update --lock
# and the generated check, which runs before the autoloader
$ head -5 vendor/composer/platform_check.php
<?php
$issues = array();
if (!(PHP_VERSION_ID >= 70224)) {
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.24".';
}
The platform setting constrains resolution to what production actually has, so a package requiring 7.3 is rejected during update where somebody can deal with it. The generated check is the second half: it fails at the top of the autoloader with a clear message rather than in a library four layers down. Keeping the value in step with the servers is manual, and a stale one silently holds a project back a version — worth a line in the deploy checklist.