php -m,php -m与phpinfo()不同【memcache扩展】

事情起因,因要升级 openssl(openssl升级这里不表) ,所以在升级后对 php 也进行了从新编译,编译成功。

发现没有安装,memcache 扩展,从新编译安装了一下,显示的安装成功,但是 phpinfo() 不显示 memcache 扩展

查找了,php.ini 文档当中,也有 extension="memcache.so" 很奇怪的问题,

查找 phpinfo() 当中 extension_dir 的目录,也存在 memcache.so,

重启了 php-fpm 也不显示(或者 apache 之类的)

后使用 php -m 可以加载出 memcache,而使用 phpinfo() 没有 memcache

[root@x ~]# php -m

[PHP Modules]

bcmath

Core

ctype

curl

date

dom

ereg

filter

ftp

gd

gettext

hash

iconv

json

libxml

mbstring

mcrypt

memcache

应该是 php-cli 与 php-fpm 调用了不同的,php.ini 的配置文件

[root@x ~]# php -i | grep php.ini

Configuration File (php.ini) Path => /usr/local/php/etc

Loaded Configuration File => /usr/local/php/etc/php.ini

phpinfo.php 这个是新创建了php文件,里面写了 phpinfo()

[root@x ~]# curl http://127.0.0.1/phpinfo.php | grep php.ini

# 可以看到和上面的返回不一样

创建符号连接到 /usr/local/php/lib 下

[root@x ~]# ln -s /usr/local/php/etc/php.ini /usr/local/php/lib/php.ini

PS:以上是后期编辑的,显示的可能不是当时发生的情况,问题排查方法是没问题,另外其它的针对 php memcache 扩展 排查方法。

which php 看一下是不是多php版本引起,php -m 的等问题

php-cli 与 php-fpm 是同一个 php 版本或者 php.ini 吗(本次发生的不同的 php.ini)

php apache nginx memcache 等各种重启看一下

by bin

你可能感兴趣的:(php,-m)