1、問題描述
編譯安裝php7時指定了--with-config-file-path=/usr/local/php7/etc,修改了 php.ini 的配置後重啓,但就是不生效。
2、問題排查
創建phpinfo()
vim /usr/local/nginx/html/info.php
<?php
phpinfo();
?>
訪問info.php,發現Loaded Configuration File爲空。
編譯的時候已經定義了配置文件路徑,php.ini也存在/usr/local/php7/etc目錄下,很詭異。
3、追蹤啓動過程
yum install -y strace
strace /usr/local/php7/sbin/php-fpm -i 2>1.log
查看1.log文件,查找php.ini
發現php.ini文件指定的是/usr/local/php7/lib/php.ini,但是/usr/local/php7/lib/目錄下不存在改文件。
4、解決
創建一個軟連接ln -s /usr/local/php7/etc/php.ini /usr/local/php7/lib/php.ini
重啓php-fpm
systemctl stop php-fpm
systemctl stop php-fpm
再次訪問info.php,可看到配置文件加載正常。