关于php.ini

Posted by jintang on 2016-02-22

最近应用服务考虑升级到php7,自己编译了一下,最后php.ini通常的做法都是:

1
2
3
# 进入源代码目录
cd php-7.1.0
cp php.ini-production /usr/local/php/etc

然后高高兴兴地把需要的扩展编译安装好了,打开php.ini把扩展配置加上,如:

1
extension=redis.so
1
php -m | grep redis

竟然没有生效

1
php --ri redis

也没有

1
2
[root@node4 ~]# php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/php-7.1.0/lib

说明php.ini要放在/usr/local/php-7.1.0/lib里面,但是我放到了etc下了,只好拷过去

如果不喜欢放到lib下,还要一个办法就是重新编译php,configure的时候加上一个参数:–with-config-file-scan-dir

1
./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc

再次查看:

1
2
3
[root@node4 php-7.1.0]# php -i | grep php.ini
Configuration File (php.ini) Path => /usr/local/php-7.1.0/lib
Additional .ini files parsed => /usr/local/php/etc/php.ini

还有一种办法就是使用链接,把php.ini放在etc下面,在lib链接过去

1
2
3
cd /usr/local/php
mv lib/php.ini etc/php.ini
ln -s /usr/local/php/etc/php.ini /usr/local/php/lib/php.ini