gpt4 book ai didi

ubuntu-16.04 - sqlbox 寻找 mysql 而不是 mssql

转载 作者:行者123 更新时间:2023-12-03 07:47:13 27 4
gpt4 key购买 nike

我试图启动 sqlbox 但它 panic ,我跑了:

sqlbox -v 0 /etc/kannel/sqlbox.conf

下面是日志:
2017-08-31 13:27:56 [18635] [0] INFO: Debug_lvl = 0, log_file = <none>, log_lvl = 0
2017-08-31 13:27:56 [18635] [0] DEBUG: Kannel sqlbox version `1.4.4'.
Build `Apr 5 2016 13:32:05', compiler `5.3.1 20160330'.
System Linux, release 4.4.0-93-generic, version #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017, machine x86_64.
Hostname smpp.bothsmsw.com, IP 127.0.0.1.
Libxml version 2.9.3.
Using OpenSSL 1.0.2g 1 Mar 2016.
Compiled with MySQL 5.7.11, using MySQL 5.7.19.
Compiled with PostgreSQL 9.5.2.
Using SQLite 3.11.0.
Using hiredis API 0.13.3
Using native malloc.

2017-08-31 13:27:56 [18635] [0] INFO: Starting to log to file /var/log/kannel/sqlbox.log level 0
2017-08-31 13:27:56 [18635] [0] INFO: Added logfile `/var/log/kannel/sqlbox.log' with level `0'.
2017-08-31 13:27:56 [18635] [0] PANIC: SQLBOX: MSSql: connection settings for id 'sqlbox-db' are not specified!
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(gw_backtrace+0xce) [0x42d07e]
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(gw_panic+0x16f) [0x42d1ff]
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(sqlbox_init_mssql+0x11e) [0x40dffe]
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(sqlbox_init_sql+0x9) [0x413239]
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(main+0x31d) [0x40c24d]
2017-08-31 13:27:56 [18635] [0] PANIC: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f3146101830]
2017-08-31 13:27:56 [18635] [0] PANIC: sqlbox(_start+0x29) [0x40c4d9]

我不知道为什么显示为 Compiled with PostgreSQL 9.5.2.,我以前不使用它,如何仅使用 mysql 重新编译 & 这里是 sqlbox 配置:
#SQLBOX
group = sqlbox
id = sqlbox-db
smsbox-id = sqlbox
bearerbox-host = localhost
bearerbox-port = 18001
smsbox-port = 18005
smsbox-port-ssl = false
sql-log-table = sent_sms
sql-insert-table = send_sms
log-level = 0
log-file = /var/log/kannel/sqlbox.log

# SQLBOX SETUP
group = mysql-connection
id = sqlbox-db
host = localhost
port = 3306
username = root
password = pass
database = kannel_db
max-connections = 25

有什么想法吗?

最佳答案

如本主题中的回复 Kannel Sqlbox not working (trying to connect to SQL Server instead of MySQL)?您不能使用 apt-get 包,因为它们没有使用正确的参数构建。

问题

日志中描述的主要问题是:
2017-08-31 13:27:56 [18635] [0] PANIC: SQLBOX: MSSql: connection settings for id 'sqlbox-db' are not specified!
其实你用的版本有问题( apt-get 包是旧版本,不能在那里用 ),年初我也遇到了同样的问题。

这是我如何使它工作。

解决方案

第 1 步 - 卸载所有以前的 Kannel 软件包,清理所有内容

如果你已经用 apt-get 包安装了 Kannel,你必须先清理你的机器。

这里有一些线索可以找到您必须删除的项目。
我首先检查了每个发现“kannel”的地方:

sudo find / -name "*kannel*"
sudo find / -name "*Kannel*"

然后我运行了以下命令(其中一些可能对您没有用,具体取决于您的设置等):
sudo apt-get autoremove --purge kannel
sudo rm -rf /etc/kannel/
sudo apt-get autoremove --purge kannel-sqlbox
sudo rm /var/cache/apt/archives/kannel-sqlbox_0.7.2-4build1_amd64.deb
sudo rm /var/cache/apt/archives/kannel-extras_1.4.4-2build1_amd64.deb
rm /home/nico/www-dev/kannelStore/kannel.store*
sudo rm -rf /usr/local/include/kannel
sudo rm -rf /usr/local/kannel
sudo rm -rf /usr/local/lib/kannel
rm /var/tmp/kannel.swp
sudo rm /usr/local/share/man/man8/kannel.8
sudo rm /usr/local/share/man/man8/run_kannel_box.8

还有 sudo rm -rf /usr/local/sbin/ (但在这里要小心,这取决于您在文件夹中已有的内容!)

第 2 步 - 从源安装最新的 Kannel 版本

注意:您必须使用 1.5.0 版

获取依赖

首先添加 future 命令所需的所有包:
  • sudo apt-get install libxml2-dev (步骤 ./configure 需要,否则您将收到“配置:错误:您必须安装 libxml2(又名 gnome-xml)库”)
  • sudo apt-get install libmysqlclient-dev (需要 ./configure --with-mysql)
  • sudo apt-get install bison (需要 make)
  • sudo apt-get install libssh-dev libssl-dev (需要 make 以避免出现此错误:“collect2:错误:ld 返回 1 个退出状态 make:*** [test/test_http] 错误 1”)

  • 获取 Kannel 资源

    您必须从 svn 存储库中获取源代码。所以:
  • sudo apt install subversion如果你还没有 subversion(你可以通过运行 svn --version 来检查:如果没有回复,使用命令)

  • 然后:
  • 转到将在本地托管源的文件夹。例如在 m 侧:cd ~/www-dev/nicopushkannel/Kannel/Kannel-Source
  • 从存储库中获取 Kannel 源:svn co https://svn.kannel.org/gateway/trunk

  • 构建和安装 Kannel

    从上一步开始,您应该使用 Kannel 源 root 傻瓜。
    如 Kannel 文档中所述,运行:
    cd trunk
    ./bootstrap
    ./configure --with-mysql --with-mysql-dir=/var/lib/mysql
    make

    这里重要的是添加到 ./configure 的参数: --with-mysql --with-mysql-dir=/var/lib/mysql
    然后安装:
    sudo make bindir=/usr/local/kannel install

    运行 channel

    完成后,您可以尝试从命令行运行 Kannel:
    cd /usr/local/sbin
    ./bearerbox -v 0 /etc/kannel/kannel.conf

    第 3 步 - 从源安装最新的 Kannel-sqlbox 版本

    注意:您需要安装 Kannel(第 2 步)才能编译 sqlbox。

    sqlbox 包含在 Kannel 主干中:导航到文件夹:
    cd addons/sqlbox

    补丁引导文件

    您可能需要修补 Bootstrap 文件以匹配您的 autoconf 版本(对我来说是 1.15),因为代码不明白 1.15 大于 1.11 ...

    更改以下值以匹配您的机器版本的 autoconf:
    如果 automake-1.11 --version >/dev/null 2>&1;然后
    amvers="-1.11"

    所以对我来说它变成了:
    如果 automake-1.15 --version >/dev/null 2>&1;然后
    amvers="-1.15"

    构建和安装 sqlbox
    ./bootstrap
    ./configure
    make
    sudo make install

    我们完了!

    还有一件事:如果你想在 Kannel 启动时添加 Sqlbox 启动:
    sudo gedit /etc/default/kannel
    Add "START_SQLBOX=1" line at the end

    关于ubuntu-16.04 - sqlbox 寻找 mysql 而不是 mssql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45980691/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com