PHP Mbstring 仅适用于 CLI

问题描述

我用静态内置的 mbstring 编译了我自己的 PHP

测试脚本为:echo mb_convert_case("potato",MB_CASE_UPPER);

它在 CLI 模式下工作,但在 apache 中运行时,我收到一个错误,指出 mbstring 被禁用。

调用未定义的函数 mb_convert_case()

同样的情况发生在 PHPinfo() 上:在 CLI 中,mbstring 已启用,而在 apache 上已禁用。

我在两种模式下都有相同的配置文件(我使用的 PHP.ini 是由 apt install libapache2-mod-PHP7.2 生成的)。

有人知道为什么会这样吗?

我的环境是 Ubuntu 18.04、PHP 7.2.34 和 Apache2 2.4.29

PHP 编译标志是:

./configure \
--includedir=/usr/include \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-maintainer-zts \
--prefix=/usr \
--enable-cli \
--disable-cgi \
--disable-PHPdbg \
--with-config-file-path=/etc/PHP/7.2/cli \
--with-config-file-scan-dir=/etc/PHP/7.2/cli/conf.d \
--build=x86_64-linux-gnu \
--host=x86_64-linux-gnu \
--config-cache \
--cache-file=/build/PHP7.2-KyEB0s/PHP7.2-7.2.24/config.cache \
--libdir=${prefix}/lib/PHP \
--libexecdir=${prefix}/lib/PHP \
--datadir=${prefix}/share/PHP/7.2 \
--program-suffix=7.2 \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-rpath \
--with-pic \
--with-layout=GNU \
--without-pear \
--enable-filter \
--with-openssl=yes \
--with-password-argon2 \
--with-pcre-regex \
--enable-hash \
--with-mhash \
--enable-libxml \
--enable-session \
--with-sodium \
--with-zlib \
--with-apxs2=/usr/bin/apxs \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-dom \
--enable-pdo \
--enable-dtrace \
--enable-pcntl \
--enable-mbstring \
--enable-shmop \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-curl \
--with-pdo-pgsql=/usr/bin/pg_config \
--enable-calendar \
--enable-dba \
--enable-exif \
--enable-ftp \
--enable-soap \
--enable-wddx \
--enable-zip \
--with-pgsql \
--with-kerberos \
--with-gd \
--with-gettext \
--with-imap \
--with-imap-ssl \
--with-pdo-dblib \
--with-pdo-pgsql \
--without-pdo-sqlite \
--with-readline \
--with-xsl

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)