在预定电子邮件中使用动态路由时,此问题对我来说很明显。电子邮件网址是使用此配置设置构建的,显然未设置为适应服务器环境。我正在使用Forge进行生产。配置此属性的最佳做法是什么?我会在env文件中添加一个变量吗?
目前设定如下:
'url' => 'http://localhost',
答案 0 :(得分:1)
如果您的网站未安装在其他域上,则可以直接通过配置文件分配:
'url' => 'http://localhost',
如果您的应用程序将在不同的环境或域中安装/运行,您可以通过.env文件进行设置:
# .env file
APP_URL=http://localhost
答案 1 :(得分:0)
我也使用Forge作为我的作品。一切都适合我。 我有这样的设置:
在我的 config \ app.php
中我设置了'url' => env('DB_HOST'),
DB_HOST :只是服务器的IP地址。
,这应该与您的Production Server上的.env
文件匹配。
我的.env
看起来像这样:
APP_ENV=production
APP_DEBUG=false
APP_KEY=******************
DB_HOST= http://12.23.29.122/
DB_DATABASE=db-name
DB_USERNAME=forge
DB_PASSWORD=**************
希望这有帮助!
答案 2 :(得分:0)
您有很多选择
1)在单元测试中即时设置配置参数
-Dsonar.junit.reportsPath=target/surefire-reports -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
2)一劳永逸地在phpunit.xml文件中进行配置
config(['app.url' => 'https://my.com']);
3)随时更改单元测试环境并在单元测试中重新创建应用程序
$ _ ENV ['APP_URL'] ='my.com'; $ this-> refreshApplication();
4)在<env name="APP_URL" value="my.com"/>
之前的单元测试文件的public function setUp(): void
中设置.env变量
5)修改.env文件也是一种选择
parent::setUp();
答案 3 :(得分:0)
我也遇到了这个问题,已经解决了。
1.SET UR APP_URL= yourdomain.com
2.run php artisan config:cache
3.php artisan queue:restart
您可以在实时服务器上为这些命令编写路由。
use Illuminate\Support\Facades\Artisan;
Route::get("reboot",function (){
Artisan::call('config:cache');
Artisan::call('queue:restart');
dd("Ready to Re-start");
});