简体   繁体   中英

php-fpm doesn't load mbstring module on Gentoo

I'm new on Gentoo, and I install nginx\\php\\fastcgi by emerge . after that, i was run phpinfo() and found there is no mbstring, then I was compile it by set USE=unicode . then I saw [mbstring] in php.ini, and I restarted php-fpm by kill process and run /etc/init.d/php-fpm -R , but there still haven't mbstring module.

then I check /etc/init.d/php-fpm -m , there's also haven't.

What's can i do now? and btw is there any way to restart php-fpm, i dont know why there isn't /etc/init.d/php-fpm restart .

FYI, I did find / -name mbstring , it's output:

/usr/local/src/php-5.4.14/ext/mbstring
/usr/lib64/php5.4/include/php/ext/mbstring

run # /etc/init.d/php-fpm -h , output:

Usage: php-fpm [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F]
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -h               This help
  -i               PHP information
  -m               Show compiled in modules
  -v               Version number
  -p, --prefix <dir>
                   Specify alternative prefix path to FastCGI process manager (default: /usr/local).
  -g, --pid <file>
                   Specify the PID file location.
  -y, --fpm-config <file>
                   Specify alternative path to FastCGI process manager config file.
  -t, --test       Test FPM configuration and exit
  -D, --daemonize  force to run in background, and ignore daemonize option from config file
  -F, --nodaemonize
                   force to stay in foreground, and ignore daemonize option from config file
  -R, --allow-to-run-as-root
                   Allow pool to run as root (disabled by default)

Make certain that when you compile PHP that you are compiling with --enable-mbstring.

Just as an example, here is my PHP configuration in case it helps you out:

./configure \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--enable-sigchild \
--with-libxml-dir=/usr \
--with-openssl=/usr \
--with-kerberos=/usr \
--with-pcre-regex \
--with-zlib=/usr \
--with-zlib-dir=/usr \
--enable-bcmath \
--with-bz2=/usr \
--enable-calendar \
--with-curl=/usr \
--with-libxml-dir=/usr \
--with-enchant=/usr \
--enable-exif \
--with-pcre-dir=/usr \
--enable-ftp \
--with-openssl-dir=/usr \
--with-gd \
--with-vpx-dir=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext=/usr \
--with-gmp=/usr \
--with-mhash=/usr \
--with-imap=/usr \
--with-kerberos=/usr \
--with-imap-ssl=/usr \
--enable-intl \
--with-icu-dir=/usr \
--enable-mbstring \
--with-onig \
--with-mcrypt=/usr \
--with-mysql \
--with-zlib-dir=/usr \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pdo-pgsql=/usr \
--enable-pcntl \
--with-pgsql=/usr \
--with-pspell=/usr \
--enable-shmop \
--with-libxml-dir=/usr \
--with-snmp=/usr \
--with-openssl-dir=/usr \
--enable-soap \
--with-libxml-dir=/usr \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-tidy=/usr \
--enable-wddx \
--with-libxml-dir=/usr \
--with-xmlrpc \
--with-libxml-dir=/usr \
--with-iconv-dir=/usr \
--with-xsl=/usr \
--enable-zip \
--with-zlib-dir=/usr \
--with-pcre-dir=/usr \
--enable-mysqlnd \
--with-zlib-dir=/usr \
--with-pear \
--enable-zend-signals
  1. Detect your php.ini file

    php -i | grep php.ini

  2. Add extensions to php.ini file

    extension=mbstring.so;

restart php-fpm

systemctl restart php-fpm

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM