JasonWung's Blog

php -m 不存在的模块,phpinfo中存在

PHP

安装composer中,提示缺少一些扩展,php -m查询,果然缺少,但是发现phpinfo中都有啊。

卧槽!卧槽!卧槽!什么情况!

经过一番搜索,发现php cli模式下的配置文件和web下的配置文件不是一个(好low,才知道)。。。

php –ini 可以查看cli模式下的配置文件路径。

root@ubuntu:/home/ubuntu# php --ini
Configuration File (php.ini) Path: /etc/php/7.0/cli
Loaded Configuration File:         (none)
Scan for additional .ini files in: /etc/php/7.0/cli/conf.d
Additional .ini files parsed:      (none)

我猜测了一下,大致是说cli下的配置文件,是在/etc/php/7.0/cli目录下,但是下面那行的loaded Configuration File是none,说明没有啊,于是就在对应的目录下创建了文件。写了个空的php-cli.ini

再次php –ini发现loaded Configuration File有了!!!有了!!!

but发现了一个事。报错。。

PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) '/usr/local/php7/ext/json.so' in Unknown on line 0

先抱着试试看的态度php -m一下。。果然!!!没有!!!

然后开始纠结新的问题。为啥会报错呢。。。

采用了最古老的办法,复制问题,浏览器粘贴,在stackOverflow中发现了我想要的答案,过滤到大量无效(不认识)的英文,发现了我想要的答案。

Not sure what caused this, but make clean then restarting phpize && ./configure && make && make install solved this sort of problem.

就是上面这句话。他说他不懂咋回事,但是执行make clean然后接着编译别的插件一个流程就行了。

虽然我也不懂,但是又抱着试试看的态度执行了一遍。

可以用了!!!

貌似好像是缓存的因素。

以上文章仅是个人猜测和实验。如有错误~求指点!!!