【问题标题】:How to add php-amqp in CircleCI config.yml?如何在 CircleCI config.yml 中添加 php-amqp?
【发布时间】:2019-03-11 13:15:41
【问题描述】:

我尝试在我的 config.yml 中添加以下命令:

docker-php-ext-install amqp

但 CircleCI 说:

错误:/usr/src/php/ext/amqp 不存在

这是我的完整 config.yml 文件:

# PHP CircleCI 2.0 配置文件 # # 查看 https://circleci.com/docs/2.0/language-php/ 了解更多详情 # 版本:2 工作: 建造: 码头工人: # 在这里指定你想要的版本 - 图片:circleci/php:7.1-浏览器 # 如有必要,在此处指定服务依赖项 # CircleCI 维护一个预建图像库 4 # 记录在 https://circleci.com/docs/2.0/circleci-images/ # - 图片:circleci/mysql:9.4 工作目录:~/repo # 分支: # 仅限:大师 脚步: - 退房 # 下载并缓存依赖 - 恢复缓存: 键: - v1-dependencies-{{校验和“composer.json”}} # 如果没有找到完全匹配,则回退到使用最新的缓存 - v1-依赖项- - 运行:sudo apt-get install -y libpng-dev libfreetype6-dev libjpeg-dev - 跑步: 名称:安装 PHP 扩展 命令:sudo docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir && sudo docker-php-ext-install gd && sudo docker -php-ext-安装 amqp - 运行:composer install -n --prefer-dist - 保存缓存: 路径: - 。/小贩 键:v1-dependencies-{{校验和“composer.json”}} - 运行:mkdir var/data # 运行测试! - 运行:./vendor/bin/simple-phpunit --log-junit ~/phpunit/junit.xml - store_test_results: 路径:~/phpunit - store_artifacts: 路径:~/phpunit 工作流程: 版本:2 构建测试: 工作: - 建造: 过滤器: 分支机构: 唯一:大师

【问题讨论】:

    标签: php circleci php-amqp


    【解决方案1】:

    我解决了这个问题:

    - run:
        name: Install amqp extention
        command: curl -L -o /tmp/amqp.tar.gz https://pecl.php.net/get/amqp-1.9.3.tgz && tar xfz /tmp/amqp.tar.gz && rm -r /tmp/amqp.tar.gz && sudo mkdir -p /usr/src/php/ext/amqp && sudo mv amqp-1.9.3 /usr/src/php/ext/amqp && cd /usr/src/php/ext/amqp/amqp-1.9.3 && sudo phpize && sudo ./configure --with-amqp && sudo make && sudo make install && sudo cp -a /usr/src/php/ext/amqp/amqp-1.9.3/. /usr/src/php/ext/amqp/ && sudo docker-php-ext-install amqp
    

    Symfony 4 项目的完整配置:

    # PHP CircleCI 2.0 configuration file
    #
    # Check https://circleci.com/docs/2.0/language-php/ for more details
    #
    version: 2
    jobs:
        build:
            docker:
                # specify the version you desire here
                - image: circleci/php:7.1-browsers
    
            # Specify service dependencies here if necessary
            # CircleCI maintains a library of pre-built images 4
            # documented at https://circleci.com/docs/2.0/circleci-images/
            # - image: circleci/mysql:9.4
    
            working_directory: ~/repo
    
    #        branches:
    #            only: master
    
            steps:
            - checkout
    
            # Download and cache dependencies
            - restore_cache:
                  keys:
                  - v1-dependencies-{{ checksum "composer.json" }}
                  # fallback to using the latest cache if no exact match is found
                  - v1-dependencies-
    
            - run:
                name: Install pakaces
                command: sudo apt-get install -y libpng-dev libfreetype6-dev libjpeg-dev librabbitmq-dev
    
            - run:
                name: Install PHP Extensions
                command: sudo docker-php-ext-configure gd --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir && sudo docker-php-ext-install gd
    
            - run:
                name: Install amqp extention
                command: curl -L -o /tmp/amqp.tar.gz https://pecl.php.net/get/amqp-1.9.3.tgz && tar xfz /tmp/amqp.tar.gz && rm -r /tmp/amqp.tar.gz && sudo mkdir -p /usr/src/php/ext/amqp && sudo mv amqp-1.9.3 /usr/src/php/ext/amqp && cd /usr/src/php/ext/amqp/amqp-1.9.3 && sudo phpize && sudo ./configure --with-amqp && sudo make && sudo make install && sudo cp -a /usr/src/php/ext/amqp/amqp-1.9.3/. /usr/src/php/ext/amqp/ && sudo docker-php-ext-install amqp
    #            && sudo make && sudo make install && sudo docker-php-ext-install amqp
    
            - run: composer install -n --prefer-dist
    
            - save_cache:
                  paths:
                  - ./vendor
                  key: v1-dependencies-{{ checksum "composer.json" }}
    
            - run: mkdir var/data
    
            # run tests!
            - run: ./vendor/bin/simple-phpunit --log-junit ~/phpunit/junit.xml
    
            - store_test_results:
                path: ~/phpunit
    
            - store_artifacts:
                path: ~/phpunit
    
    workflows:
        version: 2
    
        build_tests:
            jobs:
            - build:
                filters:
                    branches:
                        only: master
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-25
      • 2023-01-25
      • 2023-01-25
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      相关资源
      最近更新 更多