Код ответа сервера при обращении к сайту удобно проверять при помощи 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
Причина таких ошибок в том, что в файле php.ini содержится параметр mbstring.func_overload=2, для корректной работы сайтов на CMS Joomla же требуется значение 0.
Как исправить ошибку String functions are overloaded by mbstring
mbstring.func_overload=2 необходим для сайтов на CMS Битрикс. Директива нужна для нормального отображения кодировки. Если на одном сервере размещаются сайты и на Joomla и на Битрикс, и отказаться от данной директивы сохранив работоспособность сайтов нельзя — можно настроить 2 версии РНР на сервере указав для каждой из них разные значения mbstring.func_overload
php.ini может быть идентичным за исключением директивы о которой идет речь, для Битрикс она будет выглядеть как:
mbstring.func_overload=2
mbstring.internal_encoding=utf-8
Для Joomla:
mbstring.func_overload=0
Читайте про то как проверить актуальные настройки PHP с помощью скрипта phpinfo.
Для расширения mbstring в выводе скрипта будет отдельный блок (если расширение подключено). В блоке указаны текущие значения параметров.
Пример представлен на скриншоте:
Чтобы поменять значения нужно найти в выводе phpinfo подключаемые файлы php.ini, внести изменения там и перезапустить веб-сервер. Им чаще всего является Apache (в связке Nginx + Apache) или сервис приложений php-fpm.
Об этом также можно судить по выводу phpinfo, в верхней части выводится режим работы РНР. Это может быть Apache Handler, cgi, fastcgi, php-fpm. Последний говорит о том, что скрипты обрабатывает сервис php-fpm, остальные говорят о том, что используется Apache.