由于我没有收到来自freepbx社区的确认邮件,因此我不得不在此处发布问题。
如标题所示,我正在尝试安装freepbx。
错误消息是:
错误!
与Asterisk通讯时出错。确保正确安装Asterisk
作为星号用户
星号似乎正在以星号形式运行
尝试在此目录中使用'./start_asterisk start'命令启动Asterisk
请注意,我实际上已经运行./start_asterisk start并收到此错误消息。
显然,我可以像用户星号一样运行星号,因此问题可能出在权限之外。
我尝试将星号作为守护程序启动为用户星号,但是我仍然收到相同的错误消息。
我已经安装了列出的所有依赖项
https://wiki.freepbx.org/display/FOP/Installing+FreePBX+13+on+Ubuntu+Server+14.04.2+LTS
但是我没有安装php7.0,而是安装了与freepbx 14兼容的php7.0。
我不知道该说些什么,所以如果有不清楚的地方问我。
我希望你们能帮助我。
编辑:
我已经解决了这个问题。
我发现了此页面:https://antonraharja.com/2016/03/12/asterisk-13-and-freepbx-13-on-ubuntu-14-04/
并做了缺少的步骤。
我还必须在主目录中创建一个星号文件夹,并赋予星号所有权。
再次运行./install -n我收到此错误消息:
[Doctrine \ DBAL \ Exception \ DriverException]
执行'CREATE TABLE freepbx_log(id INT AUTO_INCREMET NOT NULL,time DATETIME DEFAULT'0000-00-00 00:00:00'NOT NULL,section VARCHAR(50)DEFAULT NULL,level VARCHAR(255)DEFAULT'时发生异常'NOT NULL,状态INT DEFAULT 0 NOT NULL。消息LONGTEXT NOT NULL,INDEX时间(时间,级别),主键(id))默认字符集utf8mb4 COLLATE utf8mb4 COLLUT utf8mb4_uni code_ci ENGINE = InnoDB':
SQLSTATE [42000]语法错误或访问冲突:1067“时间”的默认值无效
我仍然想安装freepbx。这可能是这个错误还是错误?
最佳答案
我完成了用Ubuntu 16.04安装freepbx14的工作。您在此处讨论的sql错误问题(不是freepbx)。
https://github.com/laravel/framework/issues/3602
我决定尝试类似的方法(更改mysql模式)。
我认为这不应该是最终的解决方案,但是您可以立即安装freepbx。
也许freepbx开发人员应该检查,是否可以将默认值更改为“ 0000-00-00 00:00:00”以外的其他值,因为(mysql 5.7)不再被视为有效日期。
从laravel issue tracker:引用:
对于严格模式为true的问题,请检查
https://laravel.com/docs/5.3/upgrade#upgrade-5.2.0
MySQL日期
从MySQL 5.7开始,注册00:00:00不再被视为有效日期,因为默认情况下启用了严格模式。当您将记录插入到数据库中时,所有时间戳列都应收到有效的默认值。您可以在迁移中使用useCurrent方法将timestamp列默认为当前时间戳,或者可以使timestamps为可空以允许空值:
$ table-> timestamp('foo')-> nullable();
$ table-> timestamp('foo')-> useCurrent();
$ table-> nullableTimestamps();
有点像没有正确记录的东西
“解”:
在[mysql]部分添加到/etc/mysql/mysql.conf.d/mysql.conf:
sql_mode = ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
这将覆盖默认的MySQL严格设置,其中包括其他两个选项:NO_ZERO_IN_DATE,NO_ZERO_DATE
重启mysqld
和
安装freepbx14
玩得开心 :-)
顺便说一句。您是否设法在PPA中使用php7而不是5.6?
谢谢