安装mbstring(PHP/Phalcon)后无法在phpinfo()中显示的问题求助
大家好,我最近在配置PHP 8.2环境来使用Phalcon框架时,遇到了mbstring扩展无法在phpinfo()中显示的问题,折腾了好几个步骤还是没解决,想请教下各位我哪里操作错了?
下面是我大致的操作流程:
系统与环境安装步骤
- 先更新系统包列表:
sudo apt-get update - 升级已安装的包:
sudo apt-get upgrade - 安装Apache2:
sudo apt-get install apache2 - 安装PHP 8.2:
sudo apt-get install php - 安装mbstring扩展:
sudo apt-get install php-mbstring
配置文件修改操作
我通过phpinfo()确认了当前加载的配置文件路径是/etc/php/8.2/apache2/php.ini,于是编辑这个文件:
- 将原本注释掉的行:
修改为:; extension=mbstring
这里extension=mbstringextension_dir我保持了默认的注释状态,没改动。
后来我又尝试直接指定扩展文件的绝对路径,因为用find / -type f -name "mbstring.so"查到的路径是/usr/lib/php/20210902/mbstring.so,所以把配置改成了:
extension=/usr/lib/php/20210902/mbstring.so
后续操作与问题
修改完配置后,我执行了sudo systemctl restart apache2重启Apache,但刷新phpinfo()后还是完全看不到mbstring的相关信息。
另外,我在终端执行php -m | grep mbstring时,还出现了如下报错:
PHP Warning: PHP Startup: Unable to load dynamic library 'mbstring.so' (tried: /usr/lib/php/20220829/mbstring.so (/usr/lib/php/20220829/mbstring.so: cannot open shared object file: No such file or directory), /usr/lib/php/20220829/mbstring.so.so (/usr/lib/php/20220829/mbstring.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
补充说明:不止mbstring,phalcon.so和php-xml也出现了同样的无法加载的问题,所以我肯定是漏掉了某个关键步骤。如果大家觉得我操作里有哪里不合理的地方,欢迎随时指出!
备注:内容来源于stack exchange,提问作者Emma K

