Osticket: Неустранимая ошибка: вызов неопределенной функции _S () в include / class.mailer.php в строке 573

Созданный на 10 июл. 2017  ·  4Комментарии  ·  Источник: osTicket/osTicket

Предпосылки

  • [] Можете ли вы воспроизвести проблему в свежей установке ветки "develop"?
  • [x] Есть ли у вас ошибки в журнале ошибок PHP или консоли javascript?
  • [x] Вы проверяли форумы osTicket ?
  • [x] Выполняли ли вы беглый поиск, чтобы узнать, не сообщалось ли уже о вашей ошибке или улучшении?

Для получения дополнительной информации о том, как написать хороший отчет об ошибке

Описание

На свежей установке osticket:

Strict Standards: Non-static method Misc::currentURL() should not be called statically in /opt/osticket/public/bootstrap.php on line 345

Notice: Undefined index: HTTPS in /opt/osticket/public/include/class.misc.php on line 148

Strict Standards: Non-static method Bootstrap::loadConfig() should not be called statically in /opt/osticket/public/main.inc.php on line 24

Notice: Constant ROOT_PATH already defined in /opt/osticket/public/include/ost-config.php on line 39

Strict Standards: Non-static method Bootstrap::i18n_prep() should not be called statically in /opt/osticket/public/main.inc.php on line 26

Deprecated: iconv_set_encoding(): Use of iconv.internal_encoding is deprecated in /opt/osticket/public/bootstrap.php on line 289

Strict Standards: Non-static method Bootstrap::loadCode() should not be called statically in /opt/osticket/public/main.inc.php on line 27

Strict Standards: Non-static method Bootstrap::connect() should not be called statically in /opt/osticket/public/main.inc.php on line 28

Strict Standards: Non-static method Bootstrap::croak() should not be called statically in /opt/osticket/public/bootstrap.php on line 190

Strict Standards: Non-static method Mailer::sendmail() should not be called statically in /opt/osticket/public/bootstrap.php on line 295

Deprecated: Non-static method Misc::randCode() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 144

Deprecated: Non-static method Crypto::random() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.misc.php on line 30

Notice: Undefined index: reply-tag in /opt/osticket/public/include/class.mailer.php on line 441

Deprecated: Non-static method Format::html2text() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 449

Strict Standards: Only variables should be passed by reference in /opt/osticket/public/include/html2text.php on line 64

Deprecated: Non-static method Mail::factory() should not be called statically, assuming $this from incompatible context in /opt/osticket/public/include/class.mailer.php on line 566

Fatal error: Call to undefined function _S() in /opt/osticket/public/include/class.mailer.php on line 573



Действия по воспроизведению

  1. [Первый шаг]
  2. [Второй шаг]
  3. [и так далее...]

Ожидаемое поведение: [чего вы ожидали]

Фактическое поведение: [Что на самом деле произошло]

Версии

  • osTicket 1.10
  • PHP 5.6.30

Обновление: похоже, это происходит, когда osTicket не может подключиться к mysql, похоже, он попытается отправить электронное письмо, и эта функция использует _S (), однако Internationlization :: bootstrap вызывается только во время / setup /?

Самый полезный комментарий

В моем случае ошибка произошла из-за того, что ядро ​​базы данных не работает.

Все 4 Комментарий

На всякий случай, если кто-то еще сталкивается с этой проблемой ... У меня была эта проблема на CentOS 7 под управлением Apache - с SELinux, однако база данных находилась в отдельной системе.
Чтобы проверить, связана ли ваша проблема с SELinux: setenforce 0 и обновите браузер. osTicket теперь должен работать нормально. Если это ваш случай, вот решение.

SELinux запрещает apache создавать сетевые подключения, поэтому просто разрешите их.

setenforce 1 # We want SELinux to remain on!
setsebool -P httpd_can_network_connect_db 1

Легкий

В моем случае ошибка произошла из-за того, что ядро ​​базы данных не работает.

Несмотря на то, что база данных не работает, проблема здесь в том, что уведомление по электронной почте о том, что база данных не работает, не выполняется из-за этой ошибки компиляции.

Функция _S похоже, исходит из модуля il8n, но немного сложно отследить, загружена ли / как эта функция на самом деле.
https://github.com/osTicket/osTicket/blob/master/include/cli/modules/i18n.php#L628

Возможно, проблема с подключением к БД! убедитесь, что у вашего пользователя есть пароль. root без пароля тоже может вызвать эту ошибку.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги