我正在运行 Ubuntu 20.04,并使用 PHP 7.4。
在 phpBB 安装过程中,报告“为了使 phpBB 正常运行,需要使用 PHP mbstring 扩展”。我能够安装它;
sudo apt list | grep mbstring
报告php7.4-mbstring/focal,now 7.4.20-1+ubuntu20.04.1+deb.sury.org+1 amd64 [residual-config]
。
但是,
phpinfo.php
在 Multibyte decoding support using mbstring disabled
部分报告 exif
。 phpinfo.php
还报道Loaded Configuration File /etc/php/7.4/apache2/php.ini
。
我编辑了这个 .ini 文件以取消动态扩展部分中的
;extension=mbstring
注释,然后重新启动 apache。但是,phpinfo.php
仍然报告扩展被禁用。我什至重新启动了服务器,但无济于事。我错过了什么?
好吧,我猜正确的软件包是没有安装的;这成功了:
sudo apt-get install php7.4-mbstring
。这会将 mbstring.so 传送到 20200930 目录,并且 phpinfo.php 报告它已启用。
安装特定于版本的包。对我来说,我使用的是 php 8.0.16,所以我这样做了,它帮我解决了问题
sudo apt-get install php8.0-mbstring
正如您所发现的 - 该软件包过去已安装但已被删除(但未清除,因此配置文件保持不变),这由
[residual-config]
指示。
通过安装
php-mbstring
而不是 php7.4-mbstring
,您的设置将更加面向未来,除非您的用例需要此确切版本。 php-mbstring
只是一个依赖包,取决于当前版本,因此在 20.04 上它会安装 php7.4-mbstring
,但是当您升级到下一个操作系统版本时,它将根据随其附带的 php 版本进行升级。
对我来说,当虚拟主机在 php8.2 上运行时,我正在检查 php8.3