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
        );
    }

删除行尾的逗号可解决此问题。


以上是Laravel8项目未在服务器中打开..在TestDatabases.php中出现错误的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>