I upgrated my project from laravel 5.4 to laravel 5.5 ,
I dont have any problem in local env but in server i get this exception ,
I searched a lot and i know this issue may be duplicated but no solutions solved my problem!
How can i not registering dusk when environment is production?
i wrote this code in AppServiceProvider.php :
public function register()
{
// Dusk, if env is appropriate
if ($this->app->environment('local', 'testing')) {
$this->app->register(DuskServiceProvider::class);
}
}
but it seems not working. can anyone help?
EDITED : my composer.json file:
"require-dev": {
"filp/whoops": "~2.0",
"fzaninotto/faker": "~1.4",
"mockery/mockery": "1.*",
"phpunit/phpunit": "^7.0.3",
"symfony/css-selector": "4.0.*",
"symfony/dom-crawler": "4.0.0",
"barryvdh/laravel-ide-helper": "^2.4",
"laravel/dusk": "^2.0"
},
The Exception is :
Exception
It is unsafe to run Dusk in production.
If you're experiencing this problem while in a developing environment and accidentally landed here due to the title, you should check that your
.env
file is set up for development. It should contain the lineAPP_ENV=local
Here is an example of how the
.env
file could look: https://github.com/laravel/laravel/blob/master/.env.exampleAnd here is the Laravel documentation: https://laravel.com/docs/5.7/configuration
Also, in
composer.json
,laravel/dusk
should be listed underrequire-dev
and notrequire
.In Laravel 5.5, packages are automatically discovered and loaded so you will probably need to tell it not to load dusk.
One way is to add this to your composer.json
Also, you can add it to your dev dependencies and when you deploy in production, use:
Taylor wrote an article about it here.
Look, it does not work because it is configured to work on
local
andtesting
environment. I guess that you need to add 'production' (if your production is called 'production in your.env
file environment:When installing to production server I just needed to use the
--no-dev
flagGood luck!