Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Проблема с запуском функциональных тестов на сервере

codeception
php
Теги: #<Tag:0x00007f7b63493078> #<Tag:0x00007f7b63492ee8>

(Ugin Berets) #1

При запуске функционального теста на удалённом сервере (не локально) в консоли появляется ошибка

[PDOException]
SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)


(Ray Romanov) #2

Из ошибки все понятно, соединение с сервером базы не происходит, настройку поменять нужно


(Ugin Berets) #3

Здесь?
/vendor/yiisoft/yii2/db/Connection.php
что именно менять следует?

Но ведь сайт же работает, значит соединение происходит?


(Ray Romanov) #4

нет, в настройках functional.suite.yml в разделе Db


(Ugin Berets) #5

добавил dsn, user, password из db.php

также добавил
populate: false
cleanup: false
reconnect: true

но ошибка та же(


(Ugin Berets) #6

Вот мой functional.suite.yml

class_name: FunctionalTester
modules:
    enabled:
      - PhpBrowser
      - Filesystem
      - Yii2
      - Db
    config:
        PhpBrowser:
            url: 'http:******************/webroot'
        Yii2:
            configFile: 'codeception/config/functional.php'
        Db:
            dsn: '******************'
            user: '******************'
            password: '******************'
            populate: false
            cleanup: false
            reconnect: true

(Ray Romanov) #7
Db:
  dsn: 'mysql:host=xxx.xxx.xxx.xxx;dbname=xxxxxxxx'
  user: 'xxxxxx'
  password: 'xxxxxxx'
  cleanup: false

Мой конфиг


(Ugin Berets) #8

Сделал как у вас, но всё равно не помогло.
Наверное дело не в конфиге…


(Onifent) #9

а на какие порты пытается подключится codeception? возможно ли что эти порты используются каким то другим сервисом?


(Ugin Berets) #10

возможно, но как мне узнать?
я же запускаю тест не со своего компьютера, а захожу через консоль на удалённый сервер и оттуда запускаю.


(Ray Romanov) #11

А если садишься за удаленный сервер то там тесты запускаются нормально?


(Ugin Berets) #12

К сожалению не имею такой возможности, т.к. сервер находится не рядом со мной.
В общем я решил пока перейти на acceptance тесты, и запускаю их со своего компьютера.


(Ugin Berets) #13

Нашёл решение этой проблемы. Надо было в файле tests\codeception\config\config.php изменить настройки БД


(Ugin Berets) #14

Но теперь новая ошибка. она возникает при попытке перейти по какому либо url

[yii\base\ErrorException] Undefined index: DOCUMENT_ROOT

кто-нибудь с этим сталкивался?


(Stan) #15

откуда у codeception урлы?


(Ugin Berets) #16

Я имею ввиду при вводе команды

$I->amOnPage(’/’);


(Konstantin) #17

А что прописано в конфиге аццептанс тестов? Там указан урл куда надо коннектиться ?