前言
最近线上有好几台ubuntu服务器的PHP定时脚本突然报错了,报错信息是Class 'Memcache' not found
,看起来像是PHP没安装memcache扩展导致的,用php -m
命令查看下扩展列表,确实没安装。
原因
但是之前一直好好的,为什么现在才突然报错呢?用history
命令查看最近执行过的命令,发现运维人员执行过apt autoremove
命令,这个命令会把所有自动安装且不再使用的软件包卸载掉,网上比较多人说这个命令会误把一些仍然有在使用的包卸载,从而导致一系列问题。因此怀疑是这个命令把PHP的memcache扩展删除了,于是查看apt的操作日志文件/var/log/apt/history.log
进行确认:
果然是这个命令把扩展删除了。。。
解决
使用apt install
命令把memcache扩展安装回来,线上PHP脚本报错问题也顺利解决了。