在面板安装了某个扩展,重启后 phpinfo 里依然找不到,程序报函数未定义。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

php -v
php -m | grep redis
# 配置
# extension=redis.so
systemctl restart php-fpm-81

扩展文件放进了与当前运行版本不匹配的目录,或配置文件里没有启用。这一点先确认清楚,后面就不用反复试。

碰到「PHP 扩展未加载」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。

具体做法是,确认扩展文件所在版本目录;在对应版本的配置中启用;重启该版本的进程。

改完照着核一遍,命令行与网页端都能看到该扩展已加载。

作者 9823189