Обновление Roundcube 1.5.0:Внутренняя ошибка сервера

Мой сервер автоматически обновился до этой новой версии Roundcube 1.5, с тех пор Roundcube не показывает входящие сообщения с сообщением «Внутренняя ошибка сервера».

Я пробовал и искал возможные решения, но ничего не нашел.

Это Centos 7 с PHP 7.4 и сервером Mysql.

Можете ли вы предложить план действий?

2
задан 20 October 2021 в 12:19
2 ответа

В случае использования Control-WebPanel [CWP]просто запустите эти команды по ssh:

/scripts/update_cwp
/scripts/mail_roundcube_update

Если вы устанавливаете Roundcubeвручную, эта проблема возникнет при обновлении Версия Roundcube 1.5и Международное расширение PHPне установлены и не активированы, поэтому:

  1. Проверьте версию PHP, на которой работает ваш Roundcube. на нем, чтобы узнать это, отредактируйте index.php, который находится в пути Roundcube, и добавьте эту строку в заголовок файла:

echo phpinfo();

Затем сохраните файл и откройте URL-адрес Roundcubeв браузере, вы увидите всю информацию о версии PHP, используемой Roundcube, включая php.iniпуть, (не забудьте после этого удалить строку).

2- Включить PHP intl Extension, точные шаги для этого зависят от вашей версии PHP, многие вопросы в Stackoverflowобъясняют, как это сделать, например: как можно Я включаю PHP Extension intl?

3
ответ дан 21 October 2021 в 11:28

Я также выполнил обновление, используя полную версию из официального источника ] и я обнаружил следующую ошибку в своем журнале:

Oct 20 21:39:21 [hostname] roundcube[1258]: PHP Fatal error:  Uncaught Error: Class 'Spoofchecker' not found in /var/www/webmail/program/lib/Roundcube/rcube_spoofchecker.php:50
                                        Stack trace:
                                        #0 /var/www/webmail/program/actions/mail/index.php(1400): rcube_spoofchecker::check('gmail.com')
                                        #1 /var/www/webmail/program/actions/mail/index.php(523): rcmail_action_mail_index::address_string('[removed]...', 3, false, NULL, 'utf-8')
                                        #2 /var/www/webmail/program/actions/mail/list.php(123): rcmail_action_mail_index::js_message_list(Array, false, Array)
                                        #3 /var/www/webmail/program/include/rcmail.php(275): rcmail_action_mail_list->run(Array)
                                        #4 /var/www/webmail/index.php(283): rcmail->action_handler()
                                        #5 {main}
                                          thrown in /var/www/webmail/program/lib/Roundcube/rcube_spoofchecker.php on line 50

Соответствующая часть::

Class 'Spoofchecker' not found

Этот отчет о закрытой проблеме Uncaught Error :Класс 'Spoofchecker' not found #8127 предположил, что пакетphp-intlтеперь является новым требованием . Это сообщение на форуме содержит более подробную информацию.:

Согласноhttps://bugs.php.net/bug.php?id=63790средство проверки спуфчекера доступно только в том случае, если расширение PHP intl собрано с ICU >= 4.2. Итак, я подозреваю, что в вашей сборке его нет, но он требуется.

Так что это зависит от вашей системы, нужно ли устанавливать php-intl. В более новых системахэто не обязательно.

Установка php-intlв зависимости от вашей системы:Fedora/CentOS/RedHat/и т. д.:

dnf install php-intl

Debian/Ubuntu:

apt install php-intl

Не забудьте перезапустить веб-сервер.

2
ответ дан 20 October 2021 в 19:42

Теги

Похожие вопросы