Ich wollte ein einfaches composer update
durchführen.
Resultat:
[8.4MiB/1.25s] Updating dependencies (including require-dev)
PHP Fatal error: Out of memory (allocated 1564475392) (tried to allocate 268435456 bytes) in phar://C:/ProgramData/ComposerSetup/bin/composer.phar/src/Composer
/DependencyResolver/Solver.php on line 223
Mein Problem: Das konkrete Projekt läuft (leider) noch auf PHP 5.6 und davon habe ich nur eine 32Bit Version auf meinem Windows-Rechner installiert. Unabhängig vom eingestellten memory_limit bin ich also an eine harte Grenze gestoßen. Aber es gibt eine genial einfache Lösung die ich vergraben in einem Github-Ticket gefunden habe:
Der 4GB-Patch von Daniel Pistelli
Dieser Patch setzt ein Flag im Datei-Header, mit dem die vollen 4 GB (32 Bit...) genutzt werden können anstatt den normalerweise nur zur Verfügung stehenden 2 GB.
Damit konnte ich die php.exe einfach patchen und schwups ging das composer update durch.
Ich liebe einfache Lösungen.