Собственно проблема возникла у одного из наших клиентов после обновления CentOS. Проблему заметили не сразу. При попытке открыть интерфейс phpMyAdmin — стали получать 500-ю ошибку. В логах видим следующее:
[cc lang=»bash» tab_size=»2″ lines=»7″] PHP Fatal error: Uncaught UnexpectedValueException: Overloading of string functions using mbstring.func_overload is not supported by phpseclib.[/cc]
В качестве интерпретатора PHP используется httpd ( он же Apache )
В php.ini настройки mbstring такие:
[cc lang=»bash» tab_size=»2″ lines=»7″] …mbstring.func_overload = 2
…
[/cc]
Итак, для того, чтобы решить эту проблему — необходимо внести правильные настройки в конфигурацию хоста httpd для phpMyAdmin (В VestaCP настройки находятся в /etc/httpd/conf.d/phpMyAdmin.conf)
Открываем этот файлик любимым текстовым редактором (я использую nano):
[cc lang=»bash» tab_size=»2″ lines=»7″] # nano /etc/httpd/conf.d/phpMyAdmin.conf[/cc]
И вставляем туда следующее (можно сразу после объявления алиасов):
[cc lang=»bash» tab_size=»2″ lines=»7″] …php_admin_value mbstring.func_overload 0
…
[/cc]
И далее не забываем, после внесения изменений, проверить конфигурацию httpd:
[cc lang=»bash» tab_size=»2″ lines=»7″] # httpd -t[/cc] В ответ сервер должен выдать:
[cc lang=»bash» tab_size=»2″ lines=»7″] Syntax OK
[/cc]
После чего перезапускаем httpd:
[cc lang=»bash» tab_size=»2″ lines=»7″] # service httpd restart[/cc]
Напомню, что в рамках проекта server [admin] наша команда занимается настройкой и администрированием Linux серверов.