Heim >Backend-Entwicklung >PHP-Tutorial >linux - Die MBString-Erweiterung von PHP7 unter CentOS7 kann nicht normal geladen werden. Wie kann das Problem gelöst werden? --gelöst,

linux - Die MBString-Erweiterung von PHP7 unter CentOS7 kann nicht normal geladen werden. Wie kann das Problem gelöst werden? --gelöst,

WBOY
WBOYOriginal
2016-08-04 09:19:532846Durchsuche

1. Problem: Die mbstring-Erweiterung von PHP kann nicht normal geladen werden.
2. Umgebung: virtuelle Maschine Centos7.2, PHP-Version => 7.0.8
Mein PHP wird über yum installiert, die Installationsquelle ist webstatic und die MBstring-Erweiterung verwendet auch diese Quelle, Version Das ist richtig.
Überprüfen Sie, ob die Erweiterung in /etc/php.d/mbstring.ini aktiviert ist und /lib64/php/modules/mbstring.so ebenfalls vorhanden ist.
Beim Aufruf der Funktion mb_strlen() tritt jedoch ein Fehler auf:
3, Code und Fehler

<code>      1 <?php
      2 $len =  mb_strlen('hello world');
</code>
<code>PHP Fatal error:  Uncaught Error: Call to undefined function mb_strlen() in /var/www/php-test/mb-encoding/mb-strlen.php:2
    349 Stack trace:
    350 #0 {main}
    351   thrown in /var/www/php-test/mb-encoding/mb-strlen.php on line 2
</code>

4, hinzugefügt:
Es ist in php -m verfügbar

<code>> php -m | grep mbstring
mbstring</code>

Aber es gibt keine
5 in PHP -Info, gelöst:
Jemand hat diese Frage schon einmal gestellt: https://segmentfault.com/q/10...

Antwortinhalt:

1. Problem: Die mbstring-Erweiterung von PHP kann nicht normal geladen werden.
2. Umgebung: Centos7.2 Virtual Machine, PHP-Version => 7.0.8
Mein PHP wird über yum installiert, die Installationsquelle ist webstatic und die MBstring-Erweiterung verwendet auch diese Quelle, Version Das ist richtig.
Überprüfen Sie, ob die Erweiterung in /etc/php.d/mbstring.ini aktiviert ist und /lib64/php/modules/mbstring.so ebenfalls vorhanden ist.
Beim Aufruf der Funktion mb_strlen() tritt jedoch ein Fehler auf:
3, Code und Fehler

<code>      1 <?php
      2 $len =  mb_strlen('hello world');
</code>
<code>PHP Fatal error:  Uncaught Error: Call to undefined function mb_strlen() in /var/www/php-test/mb-encoding/mb-strlen.php:2
    349 Stack trace:
    350 #0 {main}
    351   thrown in /var/www/php-test/mb-encoding/mb-strlen.php on line 2
</code>

4, hinzugefügt:
Es ist in php -m verfügbar

<code>> php -m | grep mbstring
mbstring</code>

Aber es gibt keine
5 in PHP -Info, gelöst:
Jemand hat diese Frage schon einmal gestellt: https://segmentfault.com/q/10...

<code>php -m | grep mbstring</code>

Das ist da, wenn es da ist, und es ist weg, wenn es nicht da ist
Wenn es nicht da ist, müssen Sie den MBstring-Quellcode erneut herunterladen, kompilieren und installieren

Das Obige ist die Antwort, bevor die Frage überarbeitet wurde. .

In ini ist keine Erweiterung geladen. Wird es eine in php -m geben?
Sind php-cli und php-cgi dieselbe Version von PHP?
Es ist nicht so, dass es auf diesem Computer zwei Versionen von PHP gibt.

Jemand hat diese Frage schon einmal gestellt. Sie können sich auf diese Frage beziehen: https://segmentfault.com/q/10....
Der Hauptgrund ist, dass php-fpm (FastCGI Process Manager: FastCGI Process Manager) nach der Installation der Erweiterung nicht neu gestartet wurde, was zu inkonsistenten PHP-Konfigurationsdateien führte, die von CGI und CLI geladen wurden.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn