Expand description
Port of Composer\Repository\PlatformRepository: the platform packages
(composer*, php*, ext-, lib-, hhvm) in Composer’s exact order, with the
config.platform overrides. Probing the current PHP is done by
assets/platform-probe.php (a transcription of initialize(), raw
versions); normalization and its fallbacks are replayed here with the
exact port of VersionParser.
Structs§
Constants§
- COMPOSER_
VERSION - Emulated Composer version and its APIs (Composer::VERSION, PluginInterface::PLUGIN_API_VERSION, Composer::RUNTIME_API_VERSION).
- PLUGIN_
API_ VERSION - RUNTIME_
API_ VERSION
Functions§
- check_
install install’s platform verification on the full platform repository (PlatformRepository: php, extensions,lib-*libraries, the composer-*-api packages,config.platformoverrides), the wayInstaller::doInstallchecks the lock: every platform requirement of the lock’splatform/platform-devsections and of the wanted packages must be satisfied by a platform package’s name, or by one of itsprovide/replacelinks (lib-dom-libxmlthroughlib-libxml,php-64bitthroughphp).- ini_
files XdebugHandler::getAllIniFiles()from the probe’sinientry:COMPOSER_ORIGINAL_INIS(set by a Composer restarted without xdebug) wins; else[php_ini_loaded_file()]+ the trimmed scanned files.- is_
platform_ package PlatformRepository::PLATFORM_PACKAGE_REGEX.- loaded_
extensions - The extensions the probed PHP has loaded (
extension_loaded), before anyconfig.platformoverride:ext-<name>keys, lowercased. - platform_
packages - The ordered list of platform packages (
getPackages()),probedbeing the probe output andoverridesconfig.platform. - probe
- Runs the probe on the current PHP (
VIVACITY_PHPorphp), through a disk cache: a php process costs 30–60 ms, most of a no-op install. The cache is keyed on what the result depends on — the php binary (path, mtime, size), every ini file PHP loaded or scanned plus the scan directory, and PHPRC / PHP_INI_SCAN_DIR / XDEBUG_MODE / XDEBUG_CONFIG.VIVACITY_NO_PLATFORM_CACHE=1bypasses it.