В 2019 я написал парсер, который подготавливает и выводит phpinfo() для моей панели хостинга OpenSource «fruithost».
Здесь я нашел способ вывести phpinfo() с областью действия ранее указанного каталога, поскольку пользователь хостинга также может создать php .ini в подкаталогах.
Особенностью этого метода было то, что он выполняется непосредственно через веб-сервер и PHP-FPM и, таким образом, использует исключительно phpinfo(); ранее указанный каталог.
К моему сожалению, я на тот момент потерял деталь из-за git-стеша, мои усилия по восстановлению файла (здесь я уже исчерпал все мыслимые возможности) оказались тщетными.
Теперь я хочу начать всю тему заново и снова поискать возможность реализовать свое намерение.
Проблема с историей:
Я не могу просто напечатать phpinfo(), потому что здесь печатается конфигурация, которая работает в совершенно другом контексте. Как вы знаете, метода phpinfo('/path/to/php.ini') не существует.
Использование PHP CLI через php -i -c /destination/path/ здесь не работает, потому что все это выполняется php-cli с другим контекстом, а вывод не выполняется. происходят в HTML. В частности, сюда загружаются другие модули PHP, не представляющие конфигурацию PHP-FPM.
Желаемое поведение:
На скриншоте видно, что нужно: В самом верху справа можно выбрать домен. Например, example.com или sample.net. Домены расположены по следующему пути:
/var/fruithost///
Если пользователь выбирает домен в правом верхнем углу (пример sample.net), phpinfo() использует каталог /var/fruithost/< username>/sample.net/, поскольку здесь может находиться php.ini.
Эта база затем используется для управления выводом phpinfo().
Каковы идеи и подходы?
Для интересующихся: я загрузил скриншот, когда закончил часть 2019 года, вот как выглядел результат:
