String functions are overloaded by mbstring

Код ответа сервера при обращении к сайту удобно проверять при помощи curl, когда в браузер выводится ошибка String functions are overloaded by mbstring (она характерна в основном для сайтов на CMS Joomla) код ответа сервера будет 500

 

curl -v example.com

* Rebuilt URL to: example.com/
* Trying 123.123.123.123…
* Connected to example.com (123.123.123.123) port 80 (#0)
> GET / HTTP/1.1
> Host: example.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 500 Internal Server Error

 

 

В  php-error.log при этом будут записываться сообщения аналогичного содержания:

[08-Sep-2017 11:39:04 UTC] PHP Fatal error: String functions are overloaded by mbstring in /home/web/sites/example.com/libraries/phputf8/utf8.php on line 39
[08-Sep-2017 11:39:04 UTC] PHP Fatal error: String functions are overloaded by mbstring in /home/web/sites/example.com/libraries/phputf8/utf8.php on line 39
[08-Sep-2017 11:39:04 UTC] PHP Fatal error: String functions are overloaded by mbstring in /home/web/sites/example.com/libraries/phputf8/utf8.php on line 39
[08-Sep-2017 11:39:04 UTC] PHP Fatal error: String functions are overloaded by mbstring in /home/web/sites/example.com/libraries/phputf8/utf8.php on line 39

 

Причина таких ошибок  в том, что в файле php.ini содержится параметр mbstring.func_overload=2, для корректной работы Joomla же требуется значение 0.
 

Как исправить ошибку String functions are overloaded by mbstring

mbstring.func_overload=2 необходим для сайтов на Битрикс. Директива нужна для нормального отображения кодировки. Если на одном сервере размещаются сайты и на Joomla и на Битрикс, и отказаться от данной директивы сохранив работоспособность сайтов нельзя — можно настроить 2 версии РНР на сервере указав для каждой из них разные значения mbstring.func_overload

 

php.ini может быть идентичным за исключением директивы о которой идет речь, для Битрикс она будет выглядеть как:

mbstring.func_overload=2
mbstring.internal_encoding=utf-8

 

Для Joomla:

mbstring.func_overload=0