Suchen Sie nach verfügbaren (nicht geladenen) PHP-Erweiterungen

8

Ich brauche einen Weg, um alle verfügbaren PHP-Erweiterungen zu finden ob sie geladen sind oder nicht . Ich schaute auf Wie sehe ich die Erweiterungen von PHP geladen? aber es erklärt nur, wie man geladene Erweiterungen findet. Ich möchte auch abgeladene Erweiterungen finden.

Wenn ich das extension_dir von php.ini kenne, habe ich ls /extension_dir/*.so gemacht, was 26 Einträge zurückgegeben hat. Als ich mit php -m probiert habe, habe ich 57 Einträge bekommen. Wie ist es möglich?

Woher weiß ich, welche PHP-Erweiterungen zum Laden verfügbar sind? Ich möchte nicht wissen, welche geladen sind, aber welche ladbar sind.

    
maazza 28.08.2012, 10:41
quelle

3 Antworten

2

Wenn Sie die Liste der möglicherweise ladbaren Erweiterungen haben möchten, sollten Sie die Liste der Dateien mit einer Erweiterung erhalten, die dem Wert von PHP_SHLIB_SUFFIX entspricht und sich in dem Verzeichnis befindet, in dem PHP nach PHP-Erweiterungen sucht ( <install-dir>/lib/php/extensions/<debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO ) . Wenn Sie die Erweiterungen vermeiden möchten, die bereits geladen sind, sollten Sie den Namen der Erweiterung (ohne Dateierweiterung) an extension_loaded () .

Beachten Sie, dass eine Datei mit der richtigen Dateierweiterung nicht als Erweiterung von PHP geladen werden konnte, weil die Datei nicht die richtige Struktur hat (zB weil die Datei beschädigt ist) oder weil die PHP-Erweiterung von Dateien abhängig ist Die Erweiterung findet nicht oder kann nicht geladen werden.

    
kiamlaluno 28.08.2012, 13:49
quelle
4
  

Beachten Sie, dass einige Erweiterungen statisch in PHP erstellt werden können.   Sie werden diese als Erweiterungen in php.ini aufgelistet sehen, aber Sie werden nicht sein   In der Lage, sie zu deaktivieren, und in den meisten Fällen werden Sie keine Erweiterung = sehen   Zeile verweist auf sie in php.ini oder eine .so / .DLL-Dateien. Entfernen   Statisch kompilierte Erweiterungen erfordern das erneute Kompilieren von PHP selbst und in   In den meisten Fällen wird dies kaum benötigt, da die meisten statisch zusammengestellt sind   Erweiterungen neigen dazu, Kernfunktionen zu integrieren, die selten erforderlich sind   entfernt.

Ссылка

Danke an Matteo Tassinari.

    
maazza 28.08.2012 11:12
quelle
1

Eine Möglichkeit besteht darin, den 'extension_dir' Wert zu überprüfen:

%Vor%

Dann scannen Sie das Verzeichnis, um die Dateien zu sehen:

%Vor%     
taseenb 22.09.2012 20:47
quelle

Tags und Links