事情起因,因要升級 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與phpinfo()不同【memcache擴充】的詳細內容。更多資訊請關注PHP中文網其他相關文章!