Ошибка обновления в установке FreePBX
Я собираю 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 ответа
Оказывается, база данных называется asterisk
был необходим вместе с asteriskcdrdb
но не было упомянуто в учебнике.
Создание базы данных и всех таблиц в ней решило проблему.
Причина. Некоторые сценарии SQL в обновлениях принудительно используют asterisk
база данных, даже если вы переопределите базу данных в начальных настройках. Устранить предыдущие ошибки (которые, кстати, также возникли из-за того, что в руководстве не упоминалось asterisk
базы данных), я также обновил сценарии в начальной установке, чтобы использовать asteriskcdrdb
для ВСЕХ таблиц, но не в скриптах, предоставляемых с обновлениями. Оказывается, это гораздо проще, если вы используете по умолчанию (и правильно) asterisk
базы данных вместо переопределения всех сценариев SQL. Ошибка была хитрой, поскольку MySQL указывал несуществующие таблицы, когда таблицы существовали в другой базе данных.
Я рекомендую вам получить образ VMware (многие из них можно найти в Интернете) с помощью freepbx или использовать PIAF.
Вы также можете попробовать обновить через web-> модули.