Для получения дополнительной информации о том, как написать хороший отчет об ошибке
На свежей установке 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
Ожидаемое поведение: [чего вы ожидали]
Фактическое поведение: [Что на самом деле произошло]
Обновление: похоже, это происходит, когда osTicket не может подключиться к mysql, похоже, он попытается отправить электронное письмо, и эта функция использует _S (), однако Internationlization :: bootstrap вызывается только во время / setup /?
На всякий случай, если кто-то еще сталкивается с этой проблемой ... У меня была эта проблема на 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 без пароля тоже может вызвать эту ошибку.
Самый полезный комментарий
В моем случае ошибка произошла из-за того, что ядро базы данных не работает.