PHP的扩展cli模式与php-fpm不一致

        在安装php-redis,php-mongodb等扩展的完成时候,在web页面上echo phpinfo()时,扩展详情全部都显示,便以为都安装完成了。但是后来在cli执行时候,发现没有这扩展包含的函数,再使用php -m检查时候,发现并没有这些扩展。

        于是查资料的得知,加载扩展是通过读取php.ini配置文件生成。

        使用命令:php --ini 查看配置详情:

       

       Loaded Configuration File: 读取到配置是 (none)

       再在web页面上,通过echo phpinfo()查看配置详情:

       

       可以看到当时执行启动php-fpm时候,手动配置读取了/etc/php.ini。

       再使用下stace命令 

strace  /usr/local/php-7.3.6/bin/php -i 2> /home/wangye/strace.log

       打开日志:

        可以看到在cli模式下,搜寻php.ini文件是在php自己目录下,在目录均没有搜索到php.ini,故无法加载扩展,需要在该默认的目录下,重新复制一份php.ini文件。

 cp /etc/php.ini /usr/local/php-7.3.6/bin/php.ini

        完成后,再通过php --ini检查,可以加载php.ini文件,再使用php -m可以看到新安装的扩展,最后便可以再cli模式下,使用这些扩展里的函数了。

你可能感兴趣的:(PHP)