Подтвердить что ты не робот

Список используемых модулей PHP в базе кода

Мне нужно указать все расширения PHP, необходимые для данной базы кода. Каким будет лучший способ решить эту проблему?

Моя первоначальная мысль - написать script, который проходит через все файлы и находит все функции и сравнивает их с данной базой данных расширения/функций. Любые другие предложения?


Обновление: Я уже сделал несколько Bash script с grep и используя функции get_loaded_modules, get_extension_funcs PHP, но это расширение именно то, что я искал.

4b9b3361

Ответ 1

PHP CompatInfo (не расширение PEAR) отлично работает, когда вы узнаете, как его использовать:

  • Перейдите на сайт PHP CompatInfo
  • Загрузите и установите инструмент
  • Скопируйте содержимое конфигурационного файла со своего сайта и поместите его в новый файл с именем phpcompatinfo.json
  • выполните следующую команду (текущий каталог - каталог, в котором размещен phpcompatinfo.json)

    phpcompatinfo analyser:run . extension

Вы получите такой вывод:

Extensions Analysis

 Extension  REF EXT min/Max PHP min/Max
 Core           4.2.0       4.2.0
 PDO            5.1.0       5.1.0
 Reflection     5.0.0       5.0.0
 calendar       4.0.0       4.0.0
 date           5.3.0       5.3.0
 filter         0.11.0      5.0.0
 gettext        4.0.0       4.0.0
 iconv          4.0.5       4.0.5
 json           5.4.0       5.4.0
 mbstring       4.4.3       4.4.3
 pcre           4.0.0       4.0.0
 session        4.0.3       4.0.3
 spl            5.4.0       5.4.0
 standard       5.5.0       5.5.0
 Total [14]                 5.5.0

Ответ 2

Существует пакет PEAR, который делает это из того, что я помню: PHP_CompatInfo:

Узнайте минимальную версию и расширения, необходимые для части кода для запуска

См. Проводник командной строки, чтобы узнать, как запустить его из командной строки, и получить некоторые примеры вывода.


(Он помечается как больше не поддерживается, поэтому могут возникнуть некоторые проблемы с последними версиями PHP, но в прошлый раз я использовал его - возможно, год назад - он работал нормально)