如何解决 Exception It is unsafe to 运行 Dusk in production in laravel 5.5?
How to solve Exception It is unsafe to run Dusk in production in laravel 5.5?
我将我的项目从 laravel 5.4 升级到 laravel 5.5 ,
我在本地环境中没有任何问题,但在服务器中出现此异常,
我搜索了很多,我知道这个问题可能重复但没有解决方案解决我的问题!
生产环境怎么不注册dusk?
我在 AppServiceProvider.php 中写了这段代码:
public function register()
{
// Dusk, if env is appropriate
if ($this->app->environment('local', 'testing')) {
$this->app->register(DuskServiceProvider::class);
}
}
但它似乎不起作用。
有人可以帮忙吗?
已编辑:
我的 composer.json 文件:
"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"
},
例外情况是:
Exception
It is unsafe to run Dusk in production.
看,它不起作用,因为它被配置为在 local
和 testing
环境下工作。
我想你需要添加 'production' (如果你的作品在你的 .env
文件环境中被称为 'production:
AppServiceProvider
public function register()
{
// Dusk, if env is appropriate
if ($this->app->environment('local', 'testing', 'production')) {
$this->app->register(DuskServiceProvider::class);
}
}
安装到生产服务器时,我只需要使用 --no-dev
标志
composer install --no-dev
祝你好运!
在 Laravel 5.5 中,包是自动发现和加载的,因此您可能需要告诉它不要加载 dusk。
一种方法是将其添加到您的 composer.json
"extra": {
"laravel": {
"dont-discover": [
"laravel/dusk"
]
}
},
此外,您可以将它添加到您的开发依赖项中,当您在生产中部署时,使用:
composer install --no-dev
泰勒写了一篇关于它的文章here。
如果您在开发环境中遇到此问题并且由于标题而意外登陆这里,您应该检查您的 .env
文件是否已设置为了发展。它应该包含行
APP_ENV=local
下面是 .env
文件的示例:https://github.com/laravel/laravel/blob/master/.env.example
这里是 Laravel 文档:https://laravel.com/docs/5.7/configuration
此外,在 composer.json
中,laravel/dusk
应该列在 require-dev
而不是 require
下。
检查源文件夹中是否包含名为.env
的文件,并设置数据库用户名和密码等设置。
我遇到了同样的问题,因为我已经设置了所有的东西但是忘记将 .env.example
更改为 .env
我将我的项目从 laravel 5.4 升级到 laravel 5.5 ,
我在本地环境中没有任何问题,但在服务器中出现此异常,
我搜索了很多,我知道这个问题可能重复但没有解决方案解决我的问题!
生产环境怎么不注册dusk?
我在 AppServiceProvider.php 中写了这段代码:
public function register()
{
// Dusk, if env is appropriate
if ($this->app->environment('local', 'testing')) {
$this->app->register(DuskServiceProvider::class);
}
}
但它似乎不起作用。 有人可以帮忙吗?
已编辑: 我的 composer.json 文件:
"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"
},
例外情况是:
Exception
It is unsafe to run Dusk in production.
看,它不起作用,因为它被配置为在 local
和 testing
环境下工作。
我想你需要添加 'production' (如果你的作品在你的 .env
文件环境中被称为 'production:
AppServiceProvider
public function register()
{
// Dusk, if env is appropriate
if ($this->app->environment('local', 'testing', 'production')) {
$this->app->register(DuskServiceProvider::class);
}
}
安装到生产服务器时,我只需要使用 --no-dev
标志
composer install --no-dev
祝你好运!
在 Laravel 5.5 中,包是自动发现和加载的,因此您可能需要告诉它不要加载 dusk。
一种方法是将其添加到您的 composer.json
"extra": {
"laravel": {
"dont-discover": [
"laravel/dusk"
]
}
},
此外,您可以将它添加到您的开发依赖项中,当您在生产中部署时,使用:
composer install --no-dev
泰勒写了一篇关于它的文章here。
如果您在开发环境中遇到此问题并且由于标题而意外登陆这里,您应该检查您的 .env
文件是否已设置为了发展。它应该包含行
APP_ENV=local
下面是 .env
文件的示例:https://github.com/laravel/laravel/blob/master/.env.example
这里是 Laravel 文档:https://laravel.com/docs/5.7/configuration
此外,在 composer.json
中,laravel/dusk
应该列在 require-dev
而不是 require
下。
检查源文件夹中是否包含名为.env
的文件,并设置数据库用户名和密码等设置。
我遇到了同样的问题,因为我已经设置了所有的东西但是忘记将 .env.example
更改为 .env