早上好冷,真不想接电话啊。但是事情往往就朝你不希望的方向发展,电话里说:“php7安装memcache模块有问题,按网上搜索的好多种方法都不行”,考虑到小朋友要去干别的活,只好亲自上阵。


根据贴图,他是卡在memcache编译那一步.不要点这里


`S)HK5K@{DGE(4TAF4@BAK2.png

php7的memcache扩展已经跟以前不一样了,需要用其他分支,以“php_smart_str_public.h: No such file or directory”为关键字搜索,就能找到解决办法。我按网上搜索的文章,很快就安装好了。接着电话告诉小朋友,他又说已经编译安装上扩展了,只是"phpinfo();"不显示memcache扩展加载信息。我看web站点目录里边,有一个test.php,内容为:

<?php

  phpinfo();

?>

安装目录执行sbin/php-fpm -y etc/php-fpm.conf -t 检查语法,一切正常。重启php后,用浏览器访问这个url,确实没看到memcache。再仔细看看页面里边php.ini文件的路径,显示为/usr/local/php/etc,而安装生成的那个文件php.ini却在路径/usr/local/php/lib下边。

CKG5JW_Z]PGHT4)M@L(67VM.png

把修改好的php.ini复制一份到目录/usr/local/php/etc下,重启php服务;再刷新浏览器,memcache出现了。

VI6U(OW8CTQ_][ML{[PH@WP.png

在写这个文档以前,群里一个兄弟求助,说测试页面显示正常,但php日志里边却有很多告警信息,提示多个扩展模块不存在。懒得跟他解释,直接让远程qq,进入他的桌面,只几分钟,就发现了问题--系统里安装了两个php(一个php5.3,另一个是php5.6),运行的版本是php5.3,修改的配置文件(php.ini)却在php5.6的目录,这小子动作快,很快就把远程协助给关了。


干运维是个仔细活,要比我还马虎,肯定麻烦事多。