刘帅的个人博客
刘帅的个人博客
About Me:
我是刘帅,(曾用网名:偻儸小卒、会PS的小码农、爱折腾的小码农、Edison Liu),来自酉州桃花源,重庆市酉阳县可大乡。是一枚真正会修电脑的程序员,也是一个在编程的路上越走越远的设计师,曾编写过一个叫“锟斤拷”的项目,也曾设计过一张叫“五彩斑斓的黑”的设计稿。我的个人博客采用ginblog_nuxt编写使用ginblog改写有兴趣或者申请免费友情链接的朋友可以加我QQ我们一起交流学习。
747357766
EdisonLiu_
747357766@qq.com
manjaro 安装mqtt(mosquitto)和php的mqtt插件
2021-06-02 17:08
0
25

前言

使用了manjaro后感觉神清气爽,但是不得不面对的是在享受manjaro强大的各自包管理器和强大的社区生态的同时总有一些比较偏门的问题始终没有人涉足或者没有大佬共享出自己的解决方案。最近我们公司就遇到了这样的一些问题,那就是在manjaro中安装宝塔、php、nginx、redis、mysql等一系列环境。苦于找到的资料都非常非常少也非常零碎,所以折腾的时间非常多。属实无赖只有做第一个吃螃蟹的人了。下面我将本次折腾的过程和解决方案分享出来供大家参考。

需求描述

由于公司部分项目使用了安卓开发,还有一部分硬件衔接通信,需要用到mqtt消息推送,以及mqtt通信进行数据传输所以在自己的开发环境中安装mqtt和mqtt插件是有必要的。

安装过程

安装mqtt(mosquitto)

sudo pacman -S mosquitto
#安装完成后直接启动
mosquitto

安装php的mqtt插件(php不要使用7.4,否则可能无法使用,报错Deprecated: Function get_magic_quotes_gpc() is deprecated )

  • 使用phpize安装会报错 Cannot find config.m4 所以放弃了这种方法,我采用了pecl安装
    1.安装pecl
wget http://pear.php.net/go-pear.phar
php go-pear.phar

提示如下(这里需要解禁php的各种方法如果禁用了会在命令行提示的)

 1. Installation base ($prefix)                   : /home/edison/pear
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /home/edison/pear/bin
 5. PHP code directory ($php_dir)                 : /home/edison/pear/share/pear
 6. Documentation directory                       : /home/edison/pear/docs
 7. Data directory                                : /home/edison/pear/data
 8. User-modifiable configuration files directory : /home/edison/pear/cfg
 9. Public Web Files directory                    : /home/edison/pear/www
10. System manual pages directory                 : /home/edison/pear/man
11. Tests directory                               : /home/edison/pear/tests
12. Name of configuration file                    : /home/edison/.pearrc

1-12, 'all' or Enter to continue:

然后直接回车,pecl会安装到home目录(我的电脑是/home/edison)的pear 下,所以我们直接进入这个目录之后进行安装mqtt,依然是该解禁的函数都解禁再重新执行安装

sudo ./pecl install Mosquitto-alpha
#这里一定要使用sudo,否则会报  error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_D 错误和下面说的make错误

如果报如下错误请使用sudo安装重试


make: *** [Makefile:192: mosquitto.lo] Error 1
ERROR: `make' failed

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35