Nachdruck von: http://www.linuxchina.net/?p=1361
Das Kompilieren und Installieren von PHP generiert viele Erweiterungen: dynamisch und statische Zusammenstellung.
Die dynamische Kompilierung generiert automatisch SO-Dateien und speichert sie unter: $php/lib/php/extensions/no-debug-non-zts-20060613/. Diese SO-Dateien enthalten Funktionsbibliotheken, die von PHP aufgerufen werden können . Wenn der Code diese Funktionsbibliotheken aufrufen muss, lädt PHP diese Dateien dynamisch.
Statische Kompilierung bedeutet, dass diese So-Dateien beim Kompilieren und Installieren von PHP nicht automatisch generiert werden. Stattdessen werden die Funktionsbibliotheken in diesen So-Dateien statisch in PHP kompiliert, sodass der Code beim Aufruf auch aufgerufen wird .
Der Unterschied zwischen dynamischer Kompilierung und statischer Kompilierung:
Während der dynamischen Kompilierung generiert jede PHP-Erweiterung ihre eigene So-Datei. Wenn der Code diese Funktionsbibliotheken aufruft, wird die entsprechende So-Datei dynamisch erstellt geladen, sodass die Codeausführungszeit optimiert und die Größe des PHP-Speichers gesteuert werden kann. Durch die statische Kompilierung kann der Code jedoch auch die entsprechende Funktionsbibliothek aufrufen. Bei hoher Parallelität führt das Laden aller PHP-Funktionsbibliotheken jedoch zu einem höheren Speicherverbrauch . , was sich auf die Serverleistung auswirkt.
Implementierung der dynamischen Kompilierung und der statischen Kompilierung:
Die dynamische Kompilierung muss den während der Konfiguration gemeinsam genutzten Parameter angeben, zum Beispiel:
-with-zlib=shared -with-pdo-mysql= shared, /usr/local/mysql
Bei der statischen Kompilierung muss der Parameter shared nicht angegeben werden, zum Beispiel: -with-zlib
Das Obige hat Informationen zu PHP-Erweiterungen vorgestellt, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.