TravisCI: как использовать xdebug или phpdbg в соответствии с версией PHP (~5.6 или ~7.0)

Я видел, что XDebug бросает ошибку сегментации под PHP 7, что происходило со мной и многими другими. Поэтому я перешел к решению работать phpdbgс PHP 7 вместо использования XDebug.

Мой вопрос заключается в том, как я должен настроить travis.ymlвыполнение одного или другого в соответствии с версией PHP, которую я тестирую.

Это мой текущий конфигурационный файл для PHP 7, также доступный здесь

language: php

php:
  - "5.6"
  - "7.0"

install:
  - composer self-update

before_script:
  - phpenv config-rm xdebug.ini
  - mv .env.travis .env
  - mv travis.phpunit.xml phpunit.xml
  - mysql -e 'create database test_timegrid;'
  - composer install --dev --no-interaction
  - php artisan config:clear
  - php artisan migrate
  - php artisan db:seed
  - php artisan geoip:update
  - php artisan config:cache

script:
  - phpdbg -qrr vendor/bin/phpunit --coverage-clover build/logs/clover.xml

after_success:
  - ./travis-codeclimate-report.sh

С этими настройками я не могу запускать тесты для PHP 5.6, а при использовании XDebug они терпят неудачу для PHP7, поэтому у меня есть своего рода проблема взаимного исключения.

Есть какие-то намеки на это?

Это история сборки Travis и текущие файлы проекта для PHP 5.6

1 ответ

  1. Поскольку в этом сценарии, похоже, идет работа, я решил продолжать использовать XDebug до тех пор, пока я не смогу полностью перейти на PHPDebug и использовать его для PHP7+ и PHP5.6.

    На этом этапе строит с XDebug + PHP7.1 идут хорошо, но бросает ошибку цементации для PHP7.0. Тем не менее, для меня это нормально, пока.

    Журнал построения:

    https://travis-ci.org/timegridio/timegrid/builds/173947875