2017-11-09 6 views
0

Ich benutze PHP buildpack https://github.com/cloudfoundry/php-buildpack für CloudFoundry. Die App ruft einen Dummy-HTTPD-Webserver auf, der den Verkehr zu einem definierten Endpunkt leitet.Was bewirkt diese Option HTTPD_MODULES_STRIP für HTTPD?

In .bp-config/options.json konnte ich HTTPD_MODULES_STRIP sehen.

Was bewirkt diese Option? Die Einstellung "wahr" oder "falsch" führte zum gleichen Ergebnis. So neugierig, wie wird es benutzt?

Wenn die Erweiterung geschrieben werden muss, um diese Option zu verwenden, wie mache ich das?

Version von HTTPD 2.4.12

Antwort

1

Wenn Module in Ihrem Build angegeben manifest gezippt sind, HTTPD_MODULES_STRIP zu true Einstellung wird das erste Element der archivierten Datei Pfad führen, bevor es in das Zielverzeichnis platziert werden abgezogen. Beispiel HTTPD_MODULES_STRIP = true: Beim Extrahieren der Datei archive.txt in das Zielverzeichnis intoDir wird das Verzeichnis "some" aus dem resultierenden Pfadnamen entfernt.

some/file/in/archive.txt -> intoDir/file/in/archive.txt

Siehe ./lib/build_pack_utils/builder.py Linie 312 und ./lib/build_pack_utils/zips.py für weitere Informationen.

+1

Wenn Sie ein Paket in Ihrer PHP-Build-Pack-Erweiterung installieren, wie hier -> https://github.com/cloudfoundry/php-buildpack/blob/master/lib/httpd/extension.py#L44-L45, wird die Der zugrunde liegende Code, der das Paket installiert, sucht nach ' _STRIP' (hier -> https://github.com/cloudfoundry/php-buildpack/blob/master/lib/build_pack_utils/cloudfoundry.py#L211). Es tut was oben beschrieben wurde. Die Konfiguration "HTTPD_STRIP = true" würde dies für das Paket "HTTPD" festlegen. –

+0

Das 'HTTPD_MODULES_STRIP = true' ist alt und kann technisch entfernt werden. Das war von einer Zeit her, als das Buildpack ein Core HTTPD + einzelne "Module" für verschiedene HTTPD-Erweiterungen installierte. Die Idee war, einen möglichst kleinen Footprint zu installieren. Am Ende wurde das Buildpack verlangsamt, da es länger dauert, mehrere kleine Dateien im Gegensatz zu einer großen Datei herunterzuladen und zu installieren. Außerdem wurde nur ein wenig Speicherplatz eingespart, da HTTPD nur die Teilmenge der installierten Module lädt, die in seiner Konfiguration aufgelistet sind. –

Verwandte Themen