背景
WSL2(ubuntu20.04)中源码编译安装的PHP,安装 mysqli 扩展报错 mysqli.so: undefined symbol: mysqlnd_global_stats
解决方案
网上搜索了很多,排名前列的都没有解决我的问题,经过多番查找,最终找到了问题的原因,特记录在此,希望对其他人有所帮助。
mysqli
扩展依赖mysqlnd
扩展,如果在编译php
时没有开启,后续配置php.ini
时需要注意先后顺序,mysqlnd
要在前面。
在尝试的过程中发现,如果是通过php
源码来编译扩展,mysqlnd
因为没有config.m4
,没有办法单独编译出来,只能在编译php
时一起编译。
重新编译php
(增加参数--enable-mysqlnd
)之后,再单独编译mysqli
,然后配置php.ini
(增加extension=mysqli
),扩展加载不再报错。