Пожалуйста, потерпите меня. Я думаю, что мой вопрос настолько глуп, что может быть причиной того, что я не могу найти ответ в Интернете.
Мне нужно использовать функцию PHP под названием mcrypt_encrypt (). Поэтому я просматриваю php.ini, чтобы активировать расширение mcrypt, ища:
;extension=php_mcrypt.dll
Но в моем php.ini НИЧЕГО о mcrypt нет ... Поэтому я устанавливаю расширение с помощью yum:
yum install php-mcrypt
Все работает !
Но, оглядываясь назад на файл php.ini, я надеялся найти строчку об активированном расширении mcrypt. Ничего.
Думаю, мой вопрос больше о том, как работает yum: как yum установить и активировать расширение php, не изменяя файл php.ini?
Проверьте эта документация о %config
директива файла, объявленного в пакете rpm.
Директива% config используется для пометки указанного файла как файла конфигурации. RPM выполняет дополнительную обработку файлов конфигурации при удалении пакетов, а также во время установки и обновления. Это связано с природой файлов конфигурации: они часто изменяются системным администратором, и эти изменения не должны быть потеряны.
И перечисляя файлы конфигурации php-config
пакет rpm показывает, что действительно /etc/php.ini
является файл конфигурации, и поэтому соблюдает %config directive
.
rpm -qc php-common |grep php.ini
/etc/php.ini
Поэтому yum обычно не редактирует файл. Кроме того, пакет принадлежит другому пакету (php-common).
Для активации этого расширения не нужно изменять php.ini.
Взгляните на свой php.ini по умолчанию, там должен быть такой комментарий:
;;;;
; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.
;;;;
Так и случилось.
Установив это расширение, пакет поместил файл в /etc/php.d/, который затем загружается по умолчанию.
В вашем случае, вероятно, будет файл с именем /etc/php.d/mcrypt.ini, который содержит:
; Enable mcrypt extension module
extension=mcrypt.so