利用pecl安装php模块,可能需要手工配置php.ini,以加载或禁止相关模块。那么pecl install是不是可以自动配置php.ini呢?答案是肯定的。在pecl isntall的提示信息中,苏南大叔找到了下面的类似提示信息:configuration option "php_ini" is not set to php.ini location。这个设置点,就是本文的关键所在。设置好"php_ini"之后,pecl就可以自动修改php.ini中的extension=了。
寻找php.ini位置
寻找开发环境上php.ini位置的方法很多,各位小白请点击下面的文章查看具体方法。
配置pear的php_ini
注意这里是配置pear的php_ini,而不是配置pecl的php_ini。根据苏南大叔的实验结果,配置pear的php_ini可以影响pecl install的结果。而江湖流传的pecl config-set php_ini似乎并没有作用。
Bash
pear config-set php_ini <ini_path># pecl config-set php_ini <ini_path>
注意替换<ini_path>为第一步拿到的php.ini的值。
下面的截图,是没有设置pear的php_ini的相关截图。

下一个截图,是设置了pear的php_ini后的相关截图。

这种情况下,php.ini会被自动修改,extension=的相关修改内容会贴现在php.ini文件的顶部。
pecl安装卸载模块,如何自动配置php.ini(图3-3)
小结
配置好pear config-set php_ini之后,pecl install和pecl uninstall,就不用手工配置php.ini了。pecl会自动搞定一切。当然,记得重启php-fpm之后,php.ini才会生效。
