请耐心等待。我觉得我的问题太愚蠢了,这可能是我在网上找不到答案的原因。
我需要使用一个名为 mcrypt_encrypt() 的 PHP 函数。因此我查看了 php.ini 以激活 mcrypt 扩展,并搜索:
;extension=php_mcrypt.dll
但是我的 php.ini 中没有关于 mcrypt 的任何内容...所以我使用 yum 安装扩展:
yum install php-mcrypt
一切正常!
但是,回顾 php.ini 文件,我希望找到一行关于 mcrypt 扩展被激活的内容。什么也没有。
我想我的问题更多是关于 yum 如何工作:yum 如何在不修改 php.ini 文件的情况下安装和激活 php 扩展?
答案1
激活此扩展不需要修改 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
答案2
查看本文档关于%config
rpm包中声明的文件的指令。
%config 指令用于将指定文件标记为配置文件。当软件包被删除以及在安装和升级期间,RPM 会对配置文件执行额外处理。这是由于配置文件的性质:它们经常由系统管理员更改,并且这些更改不应丢失。
列出 rpm 包的配置文件php-config
确实显示,/etc/php.ini
是一个配置文件,因此遵守%config directive
。
rpm -qc php-common |grep php.ini
/etc/php.ini
因此,yum 不会正常编辑该文件。此外,该软件包归另一个软件包 (php-common) 所有。