Laravel8项目未在服务器中打开..在TestDatabases.php中出现错误
打开 laravel 8 项目时出现错误
protected function switchToDatabase($database)
{
DB::purge();
$default = config('database.default');
config()->set(
"database.connections.{$default}.database",
$database,
);
}
供应商/laravel/framework/src/Illuminate/Testing/Concerns/TestDatabases.php 中的“语法错误,意外的‘)’”
回答
Gert B. answer 确实解决了这个问题,但你应该像 Mohammad 提到的那样将 PHP 更新到 7.3 或更高版本来解决这个问题。更改平台/供应商代码不是最佳选择。
回答
删除 set 函数调用中的尾随“,”:
config()->set(
"database.connections.{$default}.database",
$database
);
回答
您使用的 PHP 版本低于 7.3
在: vendor/laravel/framework/src/Illuminate/Testing/Concerns/TestDatabases.php
改变:
if ($url) {
config()->set(
"database.connections.{$default}.url",
preg_replace('/^(.*)(/[w-]*)(??.*)$/', "$1/{$database}$3", $url),
);
} else {
config()->set(
"database.connections.{$default}.database",
$database,
);
}
到:
if ($url) {
config()->set(
"database.connections.{$default}.url",
preg_replace('/^(.*)(/[w-]*)(??.*)$/', "$1/{$database}$3", $url)
);
} else {
config()->set(
"database.connections.{$default}.database",
$database
);
}
删除行尾的逗号可解决此问题。
THE END
二维码