• linux 安装 php-amqp


    这里需要安装rabbitmq-c和amqp扩展

    rabbitmq-c : https://github.com/alanxz/rabbitmq-c/tree/v0.11.0

    amqp :  PECL :: Package :: amqp

     安装Rabbitmq-c

    首先一定要先升级openssl ,我这里最低也需要1.1.1 ,给我坑够呛

    克隆如果没通过验证 , 就去本地开小飞机 , 然后克隆 , ftp传上来

    1. cd /usr/local
    2. git clone https://github.com/alanxz/rabbitmq-c.git
    3. cd /usr/local/rabbitmq-c
    4. mkdir build && cd build \
    5. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..
    6. cmake --build . --target install
    7. cd /usr/local/rabbitmq-c/lib64
    8. cp /usr/local/rabbitmq-c/lib64/librabbitmq.so /usr/lib
    9. cp /usr/local/rabbitmq-c/lib64/librabbitmq.so.4 /usr/lib
    10. echo "include /usr/local/lib" >> /etc/ld.so.conf
    11. ldconfig

    这里把rabbitmq-c 放在了 /usr/local/rabbitmq-c

    如果出现下图 , 可以第五行运行为  

     /usr/local/cmake-3.26.1-linux-x86_64/bin/cmake -DOPENSSL_ROOT_DIR=/usr/local/openssl3.0.7  -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..

    如果编译感觉出问题 , 可以把build文件夹删除 , 重新来过

    这里第5行一定加上地址 , 后面安装amqp会用到

    第6行一定看清有一个 ' . '  , 否则必失败

    librabbitmq.so.4: cannot open shared object file: No such file or directory

    解决方案:

    我这里,安装rabbitmq-c时,cmake操作时指定了安装位置,cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c ..,那我们就应该

    1. cp /usr/local/rabbitmq-c/lib64/librabbitmq.so /usr/lib
    2. cp /usr/local/rabbitmq-c/lib64/librabbitmq.so.4 /usr/lib
    3. echo "include /usr/local/lib" >> /etc/ld.so.conf
    4. ldconfig

    这时我们重新编译安装amqp扩展,会发现不再报错,已经可以成功编译安装amqp扩展了。

    安装amqp扩展

    1. wget http://pecl.php.net/get/amqp-1.11.0.tgz
    2. tar -zxf amqp-1.11.0.tgz
    3. cd amqp-1.10.2
    4. /www/server/php/81/bin/phpize
    5. ./configure --with-php-config=/www/server/php/81/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c
    6. make && make install

    如果报错 collect2: makefile:236:amqp.la Error1 , 则需要 ln -s /usr/local/rabbitmq-c/lib64 /usr/local/rabbitmq-c/lib 建立软链 

    如果成功会打印类似下面的地址, 告诉你扩展包在哪里 

    /www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902

    进入 /www/server/php/81/etc 文件夹 , 修改配置: 编辑php-cli.ini和php.ini两个文件,在文件后面追加

    1. [amqp]
    2. extension = amqp.so


    重启php , 开启一个新的文件打印一下phpinfo试试有没有amqp

    1. echo phpinfo();

     命令行查看

    php -m 

    php --ri amqp

     

  • 相关阅读:
    Spring
    MySQL数据库(二)
    分析报告有样板了-奥威BI数据可视化报表模板
    二分查找java
    L2t*+NPS
    机器学习第一章 发展历史与背景
    【虹科传感器小课堂】眨眼之见:通过气体检测进行热流量测量和校正
    浏览器的 5 种 Observer
    sqli第一关
    【前端】JavaScript(一)
  • 原文地址:https://blog.csdn.net/s1095622320/article/details/127691313