2015-06-30 2 views
4

У нас есть экземпляр roundcube на нашем сервере ubuntu.Неустранимая PHP-ошибка в roundcube (отсутствует Mail_mimePart)

Со вчерашнего дня мы больше не можем отправлять электронные письма. После нажатия кнопки отправки в круглом кубике, «Nachricht wird gesendet ...» - сообщение (отправляется E-Mail) загружается бесконечно.

После поиска в журналах, я нашел сообщение об ошибке:

[30-Jun-2015 10:33:50 UTC] PHP Warning: Missing argument 1 for Mail_mimePart::Mail_mimePart(), called in [***]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1288 and defined in [***]/roundcube/vendor/pear/mail_mime-decode/Mail/mimePart.php on line 127 
[30-Jun-2015 10:33:50 UTC] PHP Fatal error: Call to undefined method Mail_mimePart::encodeHeader() in [***]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1289 

Это все еще можно отправить электронную почту прямо через SMTP/Dovecot, так что все должно быть хорошо на этой стороне.

Моя первая мысль заключалась в том, чтобы установить пакеты груши, но они, кажется, правильно установлены внутри круглого куба.

StackTrace является:

[30-Jun-2015 11:52:26 UTC] Backtrace from warning 'Missing argument 1 for Mail_mimePart::Mail_mimePart(), 
called in [...]/roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1334 and 
defined' at [...]/roundcube/vendor/pear/mail_mime-decode/Mail/mimePart.php 127: [...]/roundcube/index.php 290 calling include_once() | 
[...]/roundcube/program/steps/mail/sendmail.inc 509 calling headers() | 
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1101 calling encodeHeaders() | 
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1314 calling encodeHeader() | 
[...]/roundcube/vendor/pear/mail_mime/Mail/mime.php 1334 calling Mail_mimePart() 
[30-Jun-2015 11:52:26 UTC] PHP Fatal error: Call to undefined method Mail_mimePart::encodeHeader() in [...]roundcube/vendor/pear/mail_mime/Mail/mime.php on line 1335 

Примечания:

  • Сервер уточненный.
  • Композитор был обновлен
+0

Похоже, пакет yout pear 'mail_mime' был обновлен, и его версия не совместима в обратном порядке. Вернитесь к более старой версии (если вы знаете какой) или обновите свой PHP-код. –

+0

Я уже решил это раньше, но это неверно, см. Мой ответ! Спасибо! –

ответ

0

Я просто полностью переустанавливать roudcube (данные пользователя были либо в MySQL или Dovecot, поэтому без потери данных).

Это была аналогичная проблема, о которой @Alex Chorry уже указывал в комментариях. Это было вызвано тем, что композитор обновил пакет mail_mime при установке плагина (в моем случае это был файл globaladdressbook, но я видел эту проблему также и на другом плагине). Также возврат php не работал, так как это привело к ошибке плагина.

Чтобы решить эту проблему, я полностью проигнорировал композитор и никогда не устанавливал его. Я вручную установить все плагины, как указал ей на github:

  • Поместите этот плагин папки в папку плагинов Roundcube
  • Добавить globaladdressbook в $ конфиге [ «плагинов»] в вашем Roundcube конфигурации
1

Неуверенный куда сообщать, но на данный момент вы можете решить эту проблему, изменив строку 75 в /vendor/pear/mail_mime/Mail/mime.php от require_once 'Mail/mimePart.php'; до require_once 'mimePart.php';

0

я удалил эти 3 строки из composer.json

"pear/mail_mime": ">=1.8.9", 
    "pear/mail_mime-decode": "~1.5.5", 
    "pear/net_smtp": "dev-master", 

Я побежал PHP обновление composer.phar

Тогда я положил линии назад, побежал обновление: INCC:/вар/Библиотека/roundcube # php composer.обновление Фар Загрузка композитор репозиториев с информацией пакета Инициализация репозиторий PEAR http://pear.php.net зависимостей Обновление (в том числе требующие-разработчика) - Установка груши/pear_exception (DEV-мастер 8c18719) Клонирование 8c18719fdae000b690e3912be401c76e406dd13b

  • Установка груша/Console_Getopt (v1. 4.1) Загрузка из кэша

  • Установка груша/груша-ядро-минимален (Dev-мастер 0457483) Клонирование 0457483add2e037a5e00eb186b9dce7ea3b49da2

  • Установка грушевого/Net_Socket (Dev-ствол bbe6a12) Клонирование bbe6a12bb4f7059dba161f6ddd43f369c0ec8d09

  • Установка грушевого/net_smtp (DEV-мастер 3ef8150) Клонирование 3ef8150ef230314f2a70e803e13a9926e432f7af

  • Установка груша/mail_mime (DEV-мастер 66b2a01) Клонирование 66b2a01acabe0b8d0ce606833d5cefc1a49a8887

  • Установка груша/mail_mime-декодирования (1.5.5.2) Скачивание: 100%

И зашел в круглый куб, и я смог отправить его снова.

Я не совсем понял ответ автора, но, поскольку я видел, что это может быть для плагинов-изгоев (я установил и удалил несколько), я думал, что попробую это работать.

1

У меня была такая же ситуация, как и плакат. Я (безуспешно) возился с плагинами, а потом больше не мог отправлять почту. roundcube/logs/error имеет то же сообщение, с которого я пытался отправить.

Форум сообщества Roundcube имеет solution, который работал для меня.

Я удалил круглый куб/поставщик (фактически, я сделал mv vendor vendor_bak на всякий случай) и сделал composer install из круглого куба.

Неожиданно я мог бы отправить еще раз.

Смежные вопросы