Whence /etc/php/7.0/apache2/php.ini in Ubuntu 16.04?

Where does the /etc/php/7.0/apache2/php.ini file come from on Ubuntu 16.04?

dpkg -S /etc/php/7.0/apache2/php.ini

returns nothing.

dpkg -S /etc/php/7.0/apache2/

shows that the directory is installed by the libapache2-mod-php7.0 package, but

dpkg-query -L libapache2-mod-php7.0

does not mention "php.ini". I'm guessing that this file is copied during a postinstall process. Is there a way to determine which package installation is creating this file?

2
задан 22 February 2017 в 21:01
1 ответ

Когда вы часто ищете, как что-то попало в вашу систему, вы можете просто попробовать такую ​​команду grep 'php.ini' / var / lib / dpkg / info / * . / var / lib / dpkg / info / содержит файлы, относящиеся к пакетам, в том числе packagename.list , который используется dpkg -S, packagename.conffiles , который представляет собой список конфигурационных файлов, а также файлы для различных сценариев до / после установки / удаления, например packagename.actionname .

# grep 'php.ini' /var/lib/dpkg/info/*

/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:    phpini="/etc/php/7.0/apache2/php.ini"
/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:  ucf /usr/lib/php/7.0/php.ini-production.apache2 $phpini
/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:  ucf /usr/lib/php/7.0/php.ini-production $phpini
/var/lib/dpkg/info/libapache2-mod-php7.0.postrm:    phpini=/etc/php/7.0/apache2/php.ini
/var/lib/dpkg/info/php7.0-cli.postinst:    phpini="/etc/php/7.0/cli/php.ini"
...

# cat /var/lib/dpkg/info/libapache2-mod-php7.0.postinst
...
if [ "$1" = "configure" ]; then
    phpini="/etc/php/7.0/apache2/php.ini"

    if [ "apache2" = "cli" ]; then
    ucf /usr/lib/php/7.0/php.ini-production.apache2 $phpini
    else
    ucf /usr/lib/php/7.0/php.ini-production $phpini
    fi
    ucfr libapache2-mod-php7.0 $phpini
...

В любом случае для этого конкретного запроса мы видим, что php.ini добавляется через ucf из /usr/lib/php/7.0/php.ini-production . UCF - один из немногих инструментов, которые могут использоваться пакетами Debian для поддержки файлов конфигурации. UCF может принимать некоторые значения от пользователей для объединения, он может обнаруживать и автоматически обновлять или объединять конфигурации в некоторых ситуациях и т. Д.

3
ответ дан 3 December 2019 в 10:35

Теги

Похожие вопросы