tracker icon indicating copy to clipboard operation
tracker copied to clipboard

'Cannot start session when headers already sent' on run Unit Test

Open eliasjtg opened this issue 4 years ago • 6 comments

Describe the bug On run unit test this fails with the log:

[2019-11-06 14:28:11] testing.ERROR: session_start(): Cannot start session when headers already sent {"exception":"[object] (ErrorException(code: 0): session_start(): Cannot start session when headers already sent at /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/support/src/PhpSession.php:23)
[stacktrace]
#0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'session_start()...', '/home/vagrant/c...', 23, Array)
#1 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/support/src/PhpSession.php(23): session_start()
#2 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/support/src/PhpSession.php(14): PragmaRX\\Support\\PhpSession->startSession()
#3 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php(287): PragmaRX\\Support\\PhpSession->__construct()
#4 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(800): PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider->PragmaRX\\Tracker\\Vendor\\Laravel\\{closure}(Object(Illuminate\\Foundation\\Application), Array)
#5 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(682): Illuminate\\Container\\Container->build(Object(Closure))
#6 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(630): Illuminate\\Container\\Container->resolve('tracker.reposit...', Array)
#7 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(768): Illuminate\\Container\\Container->make('tracker.reposit...', Array)
#8 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(1246): Illuminate\\Foundation\\Application->make('tracker.reposit...')
#9 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php(160): Illuminate\\Container\\Container->offsetGet('tracker.reposit...')
#10 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(800): PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider->PragmaRX\\Tracker\\Vendor\\Laravel\\{closure}(Object(Illuminate\\Foundation\\Application), Array)
#11 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(682): Illuminate\\Container\\Container->build(Object(Closure))
#12 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(630): Illuminate\\Container\\Container->resolve('tracker', Array)
#13 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(768): Illuminate\\Container\\Container->make('tracker', Array)
#14 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(1246): Illuminate\\Foundation\\Application->make('tracker')
#15 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php(639): Illuminate\\Container\\Container->offsetGet('tracker')
#16 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php(397): PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider->getTracker()
#17 /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php(82): PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider->registerErrorHandler()
#18 [internal function]: PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider->boot()
#19 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(32): call_user_func_array(Array, Array)
#20 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php(520): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#21 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(90): value(Object(Closure))
#22 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(34): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#23 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php(591): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#24 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(828): Illuminate\\Container\\Container->call(Array)
#25 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(811): Illuminate\\Foundation\\Application->bootProvider(Object(PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider))
#26 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}(Object(PragmaRX\\Tracker\\Vendor\\Laravel\\ServiceProvider), 34)
#27 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(812): array_walk(Array, Object(Closure))
#28 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#29 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(211): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap(Object(Illuminate\\Foundation\\Application))
#30 /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(320): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#31 /home/vagrant/code/vakeromagazine-backend/tests/CreatesApplication.php(18): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#32 /home/vagrant/code/vakeromagazine-backend/tests/Bootstrap.php(34): Tests\\Bootstrap->createApplication()
#33 /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(612): Tests\\Bootstrap->executeBeforeFirstTest()
#34 /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php(200): PHPUnit\\TextUI\\TestRunner->doRun(Object(PHPUnit\\Framework\\TestSuite), Array, true)
#35 /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php(159): PHPUnit\\TextUI\\Command->run(Array, true)
#36 /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/phpunit(61): PHPUnit\\TextUI\\Command::main()
#37 {main}
"} 

To Reproduce Steps to reproduce the behavior:

  1. Install with composer require pragmarx/tracker

  2. Add the service provider to app/config/app.php: PragmaRX\Tracker\Vendor\Laravel\ServiceProvider::class

  3. Add the alias to the facade on app/config/app.php: 'Tracker' => 'PragmaRX\Tracker\Vendor\Laravel\Facade'

  4. Publish tracker configuration: php artisan vendor:publish --provider="PragmaRX\Tracker\Vendor\Laravel\ServiceProvider"

  5. Enable the Middleware in app/config/tracker.php: 'use_middleware' => true,

  6. Add the Middleware to Laravel Kernel: \PragmaRX\Tracker\Vendor\Laravel\Middlewares\Tracker::class,

  7. Enable Tracker in tracker.php: 'enabled' => true,

  8. Publish the migration: php artisan tracker:tables

  9. Config database.php: 'tracker' => [ 'driver' => 'mysql', 'url' => env('DATABASE_TRACK_URL', env('DATABASE_URL')), 'host' => env('DB_TRACK_HOST', env('DB_HOST', '127.0.0.1')), 'port' => env('DB_TRACK_PORT', env('DB_PORT', '3306')), 'database' => env('DB_TRACK_DATABASE' ,env('DB_DATABASE', 'forge')), 'username' => env('DB_TRACK_USERNAME', env('DB_USERNAME', 'forge')), 'password' => env('DB_TRACK_PASSWORD', env('DB_PASSWORD', '')), 'unix_socket' => env('DB_TRACK_SOCKET', env('DB_SOCKET', '')), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'prefix_indexes' => false, 'strict' => false, 'engine' => 'InnoDB', 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], ],

  10. Migrate: php artisan migrate

  11. Enable configurations: ` 'cache_enabled' => true, 'log_enabled' => true, 'log_user_agents' => true, 'log_devices' => true, 'log_referers' => true, 'log_paths' => true, 'log_routes' => true, 'log_exceptions' => true,

    'user_model' => 'App\Entities\User', `

  12. Run tests: phpunit

Expected behavior Tests run normally

Screenshots Gitlab CI GitLab CI

System

  • OS: MacOS
  • Browser: Chrome
  • Version: 78

Additional context PHP 7.3.7 Laravel 6 PHPUnit 8.4.2

eliasjtg avatar Nov 06 '19 16:11 eliasjtg

One solution is change PragmaRX\Support\PhpSession:27:

private function isStarted()
{
	return session_status() === PHP_SESSION_ACTIVE || session_status() === PHP_SESSION_NONE;
}

eliasjtg avatar Nov 06 '19 16:11 eliasjtg

One solution is change PragmaRX\Support\PhpSession:27:

private function isStarted()
{
	return session_status() === PHP_SESSION_ACTIVE || session_status() === PHP_SESSION_NONE;
}

I dont know if this cause it, but if change config/tracker.php:

'log_exceptions' => true,

The test starts run but trow this exception:

...............................................................  63 / 212 ( 29%)
............................................................... 126 / 212 ( 59%)
............................................................... 189 / 212 ( 89%)
.PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) in /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/resources/regexes.php on line 7
PHP Stack trace:
PHP   1. {main}() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/phpunit:0
PHP   2. PHPUnit\TextUI\Command::main() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/phpunit:61
PHP   3. PHPUnit\TextUI\Command->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php:159
PHP   4. PHPUnit\TextUI\TestRunner->doRun() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php:200
PHP   5. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:616
PHP   6. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   7. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   8. Tests\Feature\Admin\User\ReadTest->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   9. PHPUnit\Framework\TestResult->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php:752
PHP  10. Tests\Feature\Admin\User\ReadTest->runBare() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestResult.php:691
PHP  11. Tests\Feature\Admin\User\ReadTest->setUp() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php:1016
PHP  12. Tests\Feature\Admin\User\ReadTest->refreshApplication() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:79
PHP  13. Tests\Feature\Admin\User\ReadTest->createApplication() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:102
PHP  14. App\Console\Kernel->bootstrap() /home/vagrant/code/vakeromagazine-backend/tests/CreatesApplication.php:18
PHP  15. Illuminate\Foundation\Application->bootstrapWith() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:320
PHP  16. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:211
PHP  17. Illuminate\Foundation\Application->boot() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
PHP  18. array_walk() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:812
PHP  19. Illuminate\Foundation\Application->Illuminate\Foundation\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:810-812}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:812
PHP  20. Illuminate\Foundation\Application->bootProvider() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:811
PHP  21. Illuminate\Foundation\Application->call() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:828
PHP  22. Illuminate\Container\BoundMethod::call() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:591
PHP  23. Illuminate\Container\BoundMethod::callBoundMethod() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
PHP  24. value() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
PHP  25. Illuminate\Container\BoundMethod::Illuminate\Container\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:30-34}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php:520
PHP  26. call_user_func_array:{/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
PHP  27. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->boot() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
PHP  28. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->registerErrorHandler() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:82
PHP  29. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->getTracker() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:397
PHP  30. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:639
PHP  31. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  32. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  33. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  34. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  35. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:155-167}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  36. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:160
PHP  37. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  38. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  39. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  40. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  41. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:172-351}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  42. PragmaRX\Tracker\Support\UserAgentParser->__construct() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:174
PHP  43. UAParser\AbstractParser::create() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Support/UserAgentParser.php:25
PHP  44. UAParser\AbstractParser::createDefault() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:38
PHP  45. UAParser\AbstractParser::createInstance() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:49
PHP Fatal error:  Allowed memory size of 536870912 bytes exhausted (tried to allocate 32768 bytes) in /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/resources/regexes.php on line 618
PHP Stack trace:
PHP   1. {main}() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/phpunit:0
PHP   2. PHPUnit\TextUI\Command::main() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/phpunit:61
PHP   3. PHPUnit\TextUI\Command->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php:159
PHP   4. PHPUnit\TextUI\TestRunner->doRun() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/Command.php:200
PHP   5. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:616
PHP   6. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   7. PHPUnit\Framework\TestSuite->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   8. Tests\Feature\Admin\User\ReadTest->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestSuite.php:569
PHP   9. PHPUnit\Framework\TestResult->run() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php:752
PHP  10. Tests\Feature\Admin\User\ReadTest->runBare() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestResult.php:691
PHP  11. Tests\Feature\Admin\User\ReadTest->setUp() /home/vagrant/code/vakeromagazine-backend/vendor/phpunit/phpunit/src/Framework/TestCase.php:1016
PHP  12. Tests\Feature\Admin\User\ReadTest->refreshApplication() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:79
PHP  13. Tests\Feature\Admin\User\ReadTest->createApplication() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:102
PHP  14. App\Console\Kernel->bootstrap() /home/vagrant/code/vakeromagazine-backend/tests/CreatesApplication.php:18
PHP  15. Illuminate\Foundation\Application->bootstrapWith() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:320
PHP  16. Illuminate\Foundation\Bootstrap\BootProviders->bootstrap() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:211
PHP  17. Illuminate\Foundation\Application->boot() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php:17
PHP  18. array_walk() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:812
PHP  19. Illuminate\Foundation\Application->Illuminate\Foundation\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:810-812}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:812
PHP  20. Illuminate\Foundation\Application->bootProvider() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:811
PHP  21. Illuminate\Foundation\Application->call() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:828
PHP  22. Illuminate\Container\BoundMethod::call() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:591
PHP  23. Illuminate\Container\BoundMethod::callBoundMethod() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:34
PHP  24. value() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:90
PHP  25. Illuminate\Container\BoundMethod::Illuminate\Container\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:30-34}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Support/helpers.php:520
PHP  26. call_user_func_array:{/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
PHP  27. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->boot() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:32
PHP  28. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->registerErrorHandler() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:82
PHP  29. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->getTracker() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:397
PHP  30. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:639
PHP  31. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  32. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  33. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  34. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  35. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:155-167}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  36. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:160
PHP  37. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  38. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  39. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  40. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  41. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:172-351}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  42. PragmaRX\Tracker\Support\UserAgentParser->__construct() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:174
PHP  43. UAParser\AbstractParser::create() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Support/UserAgentParser.php:25
PHP  44. UAParser\AbstractParser::createDefault() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:38
PHP  45. UAParser\AbstractParser::createInstance() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:49
PHP  46. Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:0
PHP  47. Illuminate\Foundation\Bootstrap\HandleExceptions->handleException() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:134
PHP  48. PragmaRX\Tracker\Support\Exceptions\Handler->report() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:92
PHP  49. PragmaRX\Tracker\Tracker->handleException() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Support/Exceptions/Handler.php:64
PHP  50. PragmaRX\Tracker\Data\RepositoryManager->handleException() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Tracker.php:282
PHP  51. PragmaRX\Tracker\Data\Repositories\Error->findOrCreate() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Data/RepositoryManager.php:652
PHP  52. Illuminate\Database\Eloquent\Builder->first() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Data/Repositories/Repository.php:127
PHP  53. Illuminate\Database\Eloquent\Builder->get() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php:143
PHP  54. Illuminate\Database\Eloquent\Builder->getModels() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:505
PHP  55. Illuminate\Database\Query\Builder->get() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:521
PHP  56. Illuminate\Database\Query\Builder->onceWithColumns() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2119
PHP  57. Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2117-2119}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2584
PHP  58. Illuminate\Database\Query\Builder->runSelect() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2118
PHP  59. Illuminate\Database\MySqlConnection->select() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:2130
PHP  60. Illuminate\Database\MySqlConnection->run() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:334
PHP  61. Illuminate\Database\MySqlConnection->logQuery() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:636
PHP  62. Illuminate\Database\MySqlConnection->event() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:683
PHP  63. Illuminate\Events\Dispatcher->dispatch() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
PHP  64. Illuminate\Events\Dispatcher->Illuminate\Events\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:342-348}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:196
PHP  65. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:444-446}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Events/Dispatcher.php:347
PHP  66. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->logSqlQuery() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:445
PHP  67. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->getTracker() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:459
PHP  68. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:639
PHP  69. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  70. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  71. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  72. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  73. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:155-167}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  74. Illuminate\Foundation\Application->offsetGet() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:160
PHP  75. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:1246
PHP  76. Illuminate\Foundation\Application->make() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:768
PHP  77. Illuminate\Foundation\Application->resolve() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:630
PHP  78. Illuminate\Foundation\Application->build() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:682
PHP  79. PragmaRX\Tracker\Vendor\Laravel\ServiceProvider->PragmaRX\Tracker\Vendor\Laravel\{closure:/home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:172-351}() /home/vagrant/code/vakeromagazine-backend/vendor/laravel/framework/src/Illuminate/Container/Container.php:800
PHP  80. PragmaRX\Tracker\Support\UserAgentParser->__construct() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Vendor/Laravel/ServiceProvider.php:174
PHP  81. UAParser\AbstractParser::create() /home/vagrant/code/vakeromagazine-backend/vendor/pragmarx/tracker/src/Support/UserAgentParser.php:25
PHP  82. UAParser\AbstractParser::createDefault() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:38
PHP  83. UAParser\AbstractParser::createInstance() /home/vagrant/code/vakeromagazine-backend/vendor/ua-parser/uap-php/src/AbstractParser.php:49

eliasjtg avatar Nov 06 '19 16:11 eliasjtg

hello @eliasjtg how did you solve it?

erikhu avatar Oct 30 '20 21:10 erikhu

One solution is change PragmaRX\Support\PhpSession:27:

private function isStarted()
{
	return session_status() === PHP_SESSION_ACTIVE || session_status() === PHP_SESSION_NONE;
}

i don't think this is a solution, it works but when i am doing a deploy it download the lib each time. tests keep going fail

erikhu avatar Nov 03 '20 16:11 erikhu

One solution is change PragmaRX\Support\PhpSession:27:

private function isStarted()
{
	return session_status() === PHP_SESSION_ACTIVE || session_status() === PHP_SESSION_NONE;
}

@antonioribeiro @erikhu this solution works. Any input on this? Or should we check against PHP_SAPI instead?

Opened a pull request on this in pragmarx/support.

shawngoh87 avatar Dec 17 '20 09:12 shawngoh87

@shawngoh87 i thought the same but the problem is that if it is not started a session it must be create it, so the code in line 21 of PhpSession.php will not start a session if PHP_SESSION_NONE is true, remember this global means no exist session, so the original code i think is okey. probably the problem is of implementation or logic, i decided to create me own tracker system, actually it didn't take me more than some hours, instead this library took me many hours and i never could get a good test

erikhu avatar Dec 22 '20 05:12 erikhu