New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yii2 logging complex data (array) throws [PHPUnit_Framework_Exception]: Array to string conversion #3452

Closed
galkindev opened this Issue Aug 18, 2016 · 2 comments

Comments

Projects
None yet
3 participants
@galkindev

galkindev commented Aug 18, 2016

I am trying to run functional tests for REST API, in one point of my application I am logging response data.

Yii::info(Yii::$app->response->data);

I have an error message only when I am running tests, this logging works without any problem in production.

Yii documentation says:

Info: Log messages can be strings as well as complex data, such as arrays or objects. It is the responsibility of log targets to properly deal with log messages. By default, if a log message is not a string, it will be exported as a string by calling yii\helpers\VarDumper::export().

When I am running tests I have this error:

PHPUnit_Framework_Exception: Array to string conversion
project/vendor/yiisoft/yii2/BaseYii.php:424
project/api/behaviors/ResponseLogBehavior.php:26
project/vendor/yiisoft/yii2/base/Component.php:541
project/vendor/yiisoft/yii2/web/Response.php:316
project/api/components/ErrorHandler.php:31
project/vendor/yiisoft/yii2/base/ErrorHandler.php:109
project/vendor/symfony/browser-kit/Client.php:315
project/api/tests/_support/_generated/ApiTesterActions.php:661
project/api/tests/functional/ApiControllerCest.php:25

Details

  • Yii: 2.0.9
  • Codeception version: 2.2.4
  • PHPUnit: 5.4.8
  • PHP Version: 5.6.11

@Naktibalda Naktibalda added the Yii label Aug 18, 2016

@Naktibalda

This comment has been minimized.

Show comment
Hide comment
@Naktibalda

Naktibalda Aug 18, 2016

Member

It is an issue of Yii.
However please run codeception with -vvv flag to get a complete stack trace.

Member

Naktibalda commented Aug 18, 2016

It is an issue of Yii.
However please run codeception with -vvv flag to get a complete stack trace.

@galkindev

This comment has been minimized.

Show comment
Hide comment
@galkindev

galkindev Aug 18, 2016

user@ubuntu:/data/htdocs/project# composer exec codecept run -- -c api -vvv
Reading ./composer.json
Loading config file /root/.composer/auth.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/data/htdocs/project): git branch --no-color --no-abbrev -v
Executing command (/data/htdocs/project): git describe --exact-match --tags
Executing command (/data/htdocs/project): git log --pretty="%H" -n1 HEAD
Reading /root/.composer/composer.json
Loading config file /root/.composer/auth.json
Loading config file /root/.composer/composer.json
Loading config file /root/.composer/auth.json
Reading /root/.composer/auth.json
Reading /data/htdocs/project/vendor/composer/installed.json
Reading /root/.composer/vendor/composer/installed.json
Loading plugin yii\composer\Plugin
Loading plugin Fxp\Composer\AssetPlugin\FxpAssetPlugin
Running 1.2.0 (2016-07-19 01:28:52) with PHP 5.6.11-1ubuntu3.1 on Linux / 4.2.0-16-generic
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Do not run Composer as root/super user! See https://getcomposer.org/root for details
> __exec_command: codecept 'run' '-c' 'api' '-vvv'
Executing command (CWD): codecept 'run' '-c' 'api' '-vvv'
Codeception PHP Testing Framework v2.2.4
Powered by PHPUnit 5.4.8 by Sebastian Bergmann and contributors.

Api\tests.unit Tests (0) -----------------------------------------------------
Modules: Yii2, Asserts
------------------------------------------------------------------------------
------------------------------------------------------------------------------

Api\tests.functional Tests (45) ----------------------------------------------
Modules: Filesystem, REST, Yii2, \api\tests\FixtureHelper
------------------------------------------------------------------------------
ApiControllerCest: Test post request with invalid json data
Signature: api\tests\functional\ApiControllerCest:testPostInvalidJsonData
Test: tests/functional/ApiControllerCest.php:testPostInvalidJsonData
Scenario --
  [yii\db\Connection::open] Opening DB connection: mysql:host=localhost;dbname=project_tests
 I send post "v1/test...","{\n            "id": 1..."
  [Request] POST http://localhost/v1/test {
              "id": 1
          }
  [Request Headers] []
  [yii\web\HttpException:400] exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
  Stack trace:
  #0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
  #1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
  #2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
  #3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
  #4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
  #5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
  #6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
  #7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
  #8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
  #9 [internal function]: Codeception\Module\REST->sendPOST('v1/test?token...', '{\n            "...')
  #10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
  #11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
  #12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
  #13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
  #14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
  #15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
  #16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
  #17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
  #18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
  #19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
  #20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
  #21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
  #22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
  #23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
  #24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
  #25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
  #26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
  #27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
  #32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
  #33 {main}
An Error occurred while handling another error:
PHPUnit_Framework_Exception: Array to string conversion

/data/htdocs/project/vendor/yiisoft/yii2/BaseYii.php:424
/data/htdocs/project/api/behaviors/ResponseLogBehavior.php:26
/data/htdocs/project/vendor/yiisoft/yii2/base/Component.php:541
/data/htdocs/project/vendor/yiisoft/yii2/web/Response.php:316
/data/htdocs/project/api/components/ErrorHandler.php:31
/data/htdocs/project/vendor/yiisoft/yii2/base/ErrorHandler.php:109
/data/htdocs/project/vendor/symfony/browser-kit/Client.php:315
/data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php:661
/data/htdocs/project/api/tests/functional/ApiControllerCest.php:25

Previous exception:
exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
Stack trace:
#0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
#1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
#2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
#3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
#4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
#5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
#8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
#9 [internal function]: Codeception\Module\REST->sendPOST('v1/tests?token...', '{\n            "...')
#10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
#11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
#12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
#13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
#14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
#15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
#16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
#17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
#18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
#19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
#20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
#21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
#22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
#23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
#24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
#25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
#26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
#27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
#32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
#33 {main}
$_SERVER = [
    'SCRIPT_FILENAME' => 'index-test.php',
    'SCRIPT_NAME' => '/index-test.php',
    'SERVER_NAME' => 'localhost',
    'SERVER_PORT' => '80',
    'HTTPS' => false,
    'REQUEST_TIME' => 1471530894,
    'REQUEST_TIME_FLOAT' => 1471530894.0796449,
    'HTTP_HOST' => 'localhost',
    'REQUEST_URI' => '/v1/test',
    'REQUEST_METHOD' => 'POST',
]
{"status":400,"code":100,"message":"Provided data must be a valid JSON string"}An Error occurred while handling another error:
PHPUnit_Framework_Exception: Array to string conversion

/data/htdocs/project/vendor/yiisoft/yii2/BaseYii.php:424
/data/htdocs/project/api/behaviors/ResponseLogBehavior.php:26
/data/htdocs/project/vendor/yiisoft/yii2/base/Component.php:541
/data/htdocs/project/vendor/yiisoft/yii2/web/Response.php:316
/data/htdocs/project/api/components/ErrorHandler.php:31
/data/htdocs/project/vendor/yiisoft/yii2/base/ErrorHandler.php:109
/data/htdocs/project/vendor/symfony/browser-kit/Client.php:315
/data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php:661
/data/htdocs/project/api/tests/functional/ApiControllerCest.php:25

Previous exception:
exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
Stack trace:
#0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
#1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
#2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
#3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
#4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
#5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
#8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
#9 [internal function]: Codeception\Module\REST->sendPOST('v1/test?token...', '{\n            "...')
#10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
#11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
#12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
#13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
#14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
#15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
#16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
#17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
#18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
#19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
#20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
#21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
#22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
#23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
#24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
#25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
#26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
#27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
#32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
#33 {main}
Script codecept handling the __exec_command event returned with error code 1

galkindev commented Aug 18, 2016

user@ubuntu:/data/htdocs/project# composer exec codecept run -- -c api -vvv
Reading ./composer.json
Loading config file /root/.composer/auth.json
Loading config file ./composer.json
Checked CA file /etc/ssl/certs/ca-certificates.crt: valid
Executing command (/data/htdocs/project): git branch --no-color --no-abbrev -v
Executing command (/data/htdocs/project): git describe --exact-match --tags
Executing command (/data/htdocs/project): git log --pretty="%H" -n1 HEAD
Reading /root/.composer/composer.json
Loading config file /root/.composer/auth.json
Loading config file /root/.composer/composer.json
Loading config file /root/.composer/auth.json
Reading /root/.composer/auth.json
Reading /data/htdocs/project/vendor/composer/installed.json
Reading /root/.composer/vendor/composer/installed.json
Loading plugin yii\composer\Plugin
Loading plugin Fxp\Composer\AssetPlugin\FxpAssetPlugin
Running 1.2.0 (2016-07-19 01:28:52) with PHP 5.6.11-1ubuntu3.1 on Linux / 4.2.0-16-generic
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Do not run Composer as root/super user! See https://getcomposer.org/root for details
> __exec_command: codecept 'run' '-c' 'api' '-vvv'
Executing command (CWD): codecept 'run' '-c' 'api' '-vvv'
Codeception PHP Testing Framework v2.2.4
Powered by PHPUnit 5.4.8 by Sebastian Bergmann and contributors.

Api\tests.unit Tests (0) -----------------------------------------------------
Modules: Yii2, Asserts
------------------------------------------------------------------------------
------------------------------------------------------------------------------

Api\tests.functional Tests (45) ----------------------------------------------
Modules: Filesystem, REST, Yii2, \api\tests\FixtureHelper
------------------------------------------------------------------------------
ApiControllerCest: Test post request with invalid json data
Signature: api\tests\functional\ApiControllerCest:testPostInvalidJsonData
Test: tests/functional/ApiControllerCest.php:testPostInvalidJsonData
Scenario --
  [yii\db\Connection::open] Opening DB connection: mysql:host=localhost;dbname=project_tests
 I send post "v1/test...","{\n            "id": 1..."
  [Request] POST http://localhost/v1/test {
              "id": 1
          }
  [Request Headers] []
  [yii\web\HttpException:400] exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
  Stack trace:
  #0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
  #1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
  #2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
  #3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
  #4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
  #5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
  #6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
  #7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
  #8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
  #9 [internal function]: Codeception\Module\REST->sendPOST('v1/test?token...', '{\n            "...')
  #10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
  #11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
  #12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
  #13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
  #14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
  #15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
  #16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
  #17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
  #18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
  #19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
  #20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
  #21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
  #22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
  #23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
  #24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
  #25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
  #26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
  #27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
  #31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
  #32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
  #33 {main}
An Error occurred while handling another error:
PHPUnit_Framework_Exception: Array to string conversion

/data/htdocs/project/vendor/yiisoft/yii2/BaseYii.php:424
/data/htdocs/project/api/behaviors/ResponseLogBehavior.php:26
/data/htdocs/project/vendor/yiisoft/yii2/base/Component.php:541
/data/htdocs/project/vendor/yiisoft/yii2/web/Response.php:316
/data/htdocs/project/api/components/ErrorHandler.php:31
/data/htdocs/project/vendor/yiisoft/yii2/base/ErrorHandler.php:109
/data/htdocs/project/vendor/symfony/browser-kit/Client.php:315
/data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php:661
/data/htdocs/project/api/tests/functional/ApiControllerCest.php:25

Previous exception:
exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
Stack trace:
#0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
#1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
#2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
#3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
#4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
#5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
#8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
#9 [internal function]: Codeception\Module\REST->sendPOST('v1/tests?token...', '{\n            "...')
#10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
#11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
#12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
#13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
#14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
#15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
#16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
#17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
#18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
#19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
#20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
#21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
#22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
#23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
#24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
#25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
#26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
#27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
#32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
#33 {main}
$_SERVER = [
    'SCRIPT_FILENAME' => 'index-test.php',
    'SCRIPT_NAME' => '/index-test.php',
    'SERVER_NAME' => 'localhost',
    'SERVER_PORT' => '80',
    'HTTPS' => false,
    'REQUEST_TIME' => 1471530894,
    'REQUEST_TIME_FLOAT' => 1471530894.0796449,
    'HTTP_HOST' => 'localhost',
    'REQUEST_URI' => '/v1/test',
    'REQUEST_METHOD' => 'POST',
]
{"status":400,"code":100,"message":"Provided data must be a valid JSON string"}An Error occurred while handling another error:
PHPUnit_Framework_Exception: Array to string conversion

/data/htdocs/project/vendor/yiisoft/yii2/BaseYii.php:424
/data/htdocs/project/api/behaviors/ResponseLogBehavior.php:26
/data/htdocs/project/vendor/yiisoft/yii2/base/Component.php:541
/data/htdocs/project/vendor/yiisoft/yii2/web/Response.php:316
/data/htdocs/project/api/components/ErrorHandler.php:31
/data/htdocs/project/vendor/yiisoft/yii2/base/ErrorHandler.php:109
/data/htdocs/project/vendor/symfony/browser-kit/Client.php:315
/data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php:661
/data/htdocs/project/api/tests/functional/ApiControllerCest.php:25

Previous exception:
exception 'api\exceptions\DataException' with message 'Provided data must be a valid JSON string' in /data/htdocs/project/api/controllers/ApiController.php:66
Stack trace:
#0 /data/htdocs/project/vendor/yiisoft/yii2/base/Controller.php(152): api\controllers\ApiController->beforeAction(Object(yii\base\InlineAction))
#1 /data/htdocs/project/vendor/yiisoft/yii2/base/Module.php(454): yii\base\Controller->runAction('create', Array)
#2 /data/htdocs/project/vendor/yiisoft/yii2/web/Application.php(87): yii\base\Module->runAction('v1/test/create', Array)
#3 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Connector/Yii2.php(143): yii\web\Application->handleRequest(Object(api\tests\components\Request))
#4 /data/htdocs/project/vendor/symfony/browser-kit/Client.php(315): Codeception\Lib\Connector\Yii2->doRequest(Object(Symfony\Component\BrowserKit\Request))
#5 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(190): Symfony\Component\BrowserKit\Client->request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#6 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/InnerBrowser.php(122): Codeception\Lib\InnerBrowser->clientRequest('POST', 'http://localhos...', Array, Array, Array, '{\n            "...', false)
#7 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(510): Codeception\Lib\InnerBrowser->_request('POST', 'http://localhos...', Array, Array, Array, '{\n            "...')
#8 /data/htdocs/project/vendor/codeception/base/src/Codeception/Module/REST.php(327): Codeception\Module\REST->execute('POST', 'v1/test?token...', '{\n            "...', Array)
#9 [internal function]: Codeception\Module\REST->sendPOST('v1/test?token...', '{\n            "...')
#10 /data/htdocs/project/vendor/codeception/base/src/Codeception/Step.php(259): call_user_func_array(Array, Array)
#11 /data/htdocs/project/vendor/codeception/base/src/Codeception/Scenario.php(69): Codeception\Step->run(Object(Codeception\Lib\ModuleContainer))
#12 /data/htdocs/project/api/tests/_support/_generated/ApiTesterActions.php(661): Codeception\Scenario->runStep(Object(Codeception\Step\Action))
#13 /data/htdocs/project/api/tests/functional/ApiControllerCest.php(25): api\tests\ApiTester->sendPOST('v1/test?token...', '{\n            "...')
#14 [internal function]: api\tests\functional\ApiControllerCest->testPostInvalidJsonData(Object(api\tests\ApiTester))
#15 /data/htdocs/project/vendor/codeception/base/src/Codeception/Lib/Di.php(121): ReflectionMethod->invokeArgs(Object(api\tests\functional\ApiControllerCest), Array)
#16 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(131): Codeception\Lib\Di->injectDependencies(Object(api\tests\functional\ApiControllerCest), 'testPostInvalid...', Array)
#17 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(143): Codeception\Test\Cest->invoke('testPostInvalid...', Array)
#18 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Cest.php(77): Codeception\Test\Cest->executeTestMethod(Object(api\tests\ApiTester))
#19 /data/htdocs/project/vendor/codeception/base/src/Codeception/Test/Test.php(82): Codeception\Test\Cest->test()
#20 /data/htdocs/project/vendor/phpunit/phpunit/src/Framework/TestSuite.php(753): Codeception\Test\Test->run(Object(PHPUnit_Framework_TestResult))
#21 /data/htdocs/project/vendor/codeception/base/src/Codeception/PHPUnit/Runner.php(98): PHPUnit_Framework_TestSuite->run(Object(PHPUnit_Framework_TestResult))
#22 /data/htdocs/project/vendor/codeception/base/src/Codeception/SuiteManager.php(162): Codeception\PHPUnit\Runner->doEnhancedRun(Object(Codeception\Suite), Object(PHPUnit_Framework_TestResult), Array)
#23 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(209): Codeception\SuiteManager->run(Object(Codeception\PHPUnit\Runner), Object(PHPUnit_Framework_TestResult), Array)
#24 /data/htdocs/project/vendor/codeception/base/src/Codeception/Codecept.php(178): Codeception\Codecept->runSuite(Array, 'functional', NULL)
#25 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(329): Codeception\Codecept->run('functional')
#26 /data/htdocs/project/vendor/codeception/base/src/Codeception/Command/Run.php(256): Codeception\Command\Run->runSuites(Array, Array)
#27 /data/htdocs/project/vendor/symfony/console/Command/Command.php(256): Codeception\Command\Run->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#28 /data/htdocs/project/vendor/symfony/console/Application.php(818): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#29 /data/htdocs/project/vendor/symfony/console/Application.php(186): Symfony\Component\Console\Application->doRunCommand(Object(Codeception\Command\Run), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#30 /data/htdocs/project/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /data/htdocs/project/vendor/codeception/base/src/Codeception/Application.php(103): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), NULL)
#32 /data/htdocs/project/vendor/codeception/base/codecept(33): Codeception\Application->run()
#33 {main}
Script codecept handling the __exec_command event returned with error code 1

@DavertMik DavertMik closed this in #3638 Oct 26, 2016

DavertMik added a commit that referenced this issue Oct 26, 2016

Array to string conversion #3452 (#3638)
* export complex data (logging Yii2)

* fix

chris1312 added a commit to chris1312/Codeception that referenced this issue Jun 16, 2017

Array to string conversion #3452 (#3638)
* export complex data (logging Yii2)

* fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment