Я собираю FreePBX 2.11.0.25 из исходного кода через Asterisk asterisk-11.9.0 (также созданный из исходного кода) на 64-битном сервере Ubuntu 14.04, установленном на VMWare VM. Во время установки у меня была ошибка, что версия Asterisk не совпадает с поддерживаемыми в настоящее время версиями. Я прокомментировал эту проверку, чтобы запустить код впереди. После комментирования проверки при запуске sudo ./install_amp начальная установка проходит гладко. Затем происходит сбой при установке первого обновления. Выход:

-> Running PHP script /home/xeno/freePBX/freepbx/upgrades/1.10.007beta1/upgradecallgroups.php
Upgrading Call Groups..0 to check...
OK

DB Error: no such table

Теперь напечатанное OK - это последнее утверждение в файле PHP. Я попытался поместить некоторые выражения out() в родительский скрипт (libfreepbx.install.php), чтобы увидеть, как далеко заходит скрипт, чтобы определить точное местоположение ошибки. Кажется, что upgradecallgroups.php никогда не возвращается; ошибка в этом файле, а не в родительском скрипте.

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

Я не очень свободно говорю на PHP (хотя могу легко читать код) и совершенно не понимаю эту ошибку. Будучи новичком, я следовал инструкциям по этой ссылке для установки FreePBX: http://highsecurity.blogspot.in/2012/12/quick-and-dirty-asterisk-11-and-freepbx.html

Любая помощь приветствуется. Заранее спасибо.

2 ответа2

1

Оказывается, что база данных с именем asterisk была необходима вместе с asteriskcdrdb но не упоминалась в руководстве.

Создание базы данных и всех таблиц в ней решило проблему.

Причина. Некоторые сценарии SQL в обновлениях предписывают использование базы данных asterisk , даже если вы переопределяете базу данных в начальных настройках. Чтобы устранить предыдущие ошибки (которые, кстати, также возникли из-за того, что в руководстве не упоминалась база данных asterisk ), я также обновил сценарии при первоначальной установке, чтобы использовать asteriskcdrdb для ВСЕХ таблиц, но не в сценариях, предоставляемых с обновлениями. Оказывается, гораздо проще, если вы используете базу данных asterisk по умолчанию (и правильную) вместо переопределения всех сценариев SQL. Ошибка была хитрой, поскольку MySQL указывал несуществующие таблицы, когда таблицы существовали в другой базе данных.

-1

Я рекомендую вам получить образ VMware (многие из них можно найти в Интернете) с помощью freepbx или использовать PIAF.

Вы также можете попробовать обновить через web-> модули.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .