info.php中Loaded Configuration File (none)

一、问题描述
编译安装php7时指定了--with-config-file-path=/usr/local/php7/etc,修改了 php.ini 的配置后重启,但就是不生效。php

二、问题排查
建立phpinfo()
vim /usr/local/nginx/html/info.phphtml

<?php
phpinfo();
?>

访问info.php,发现Loaded Configuration File为空。
info.php中Loaded Configuration File (none)nginx

编译的时候已经定义了配置文件路径,php.ini也存在/usr/local/php7/etc目录下,很诡异。vim

三、追踪启动过程php7

yum install -y strace
 strace /usr/local/php7/sbin/php-fpm -i 2>1.log

查看1.log文件,查找php.ini
info.php中Loaded Configuration File (none)
发现php.ini文件指定的是/usr/local/php7/lib/php.ini,可是/usr/local/php7/lib/目录下不存在改文件。ide

四、解决
建立一个软链接
ln -s /usr/local/php7/etc/php.ini /usr/local/php7/lib/php.iniphp-fpm

重启php-fpmcode

systemctl stop php-fpm
systemctl start php-fpm

再次访问info.php,可看到配置文件加载正常。htm

info.php中Loaded Configuration File (none)