gpt4 book ai didi

php - 来自另一个域数据库的 Laravel post 请求错误

转载 作者:行者123 更新时间:2023-11-29 17:59:32 31 4
gpt4 key购买 nike

当我尝试从另一个使用 sqlite 的网站向我的 API 发出 POST 请求时,我的 API 服务器上出现了非常奇怪的错误,以下是一些跟踪:

production.ERROR: SQLSTATE[HY000] [1049] Unknown database 'onclinic.sqlite' {"exception":"[object] (Doctrine\\DBAL\\Driver\\PDOException(code: 1049): SQLSTATE[HY000] [1049] Unknown database 'onclinic.sqlite' at D:\\OSPanel\\domains\\onclinic-engine\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\PDOConnection.php:47, PDOException(code: 1049): SQLSTATE[HY000] [1049] Unknown database 'onclinic.sqlite' at D:\\OSPanel\\domains\\onclinic-engine\\vendor\\doctrine\\dbal\\lib\\Doctrine\\DBAL\\Driver\\PDOConnection.php:43)
D:\\OSPanel\\domains\\onclinic-engine\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connectors\\Connector.php(64): Doctrine\\DBAL\\Driver\\PDOConnection->__construct('mysql:host=127....', 'root', '', Array)
D:\\OSPanel\\domains\\onclinic-engine\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connectors\\Connector.php(43): Illuminate\\Database\\Connectors\\Connector->createPdoConnection('mysql:host=127....', 'root', '', Array)
D:\\OSPanel\\domains\\onclinic-engine\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connectors\\MySqlConnector.php(24): Illuminate\\Database\\Connectors\\Connector->createConnection('mysql:host=127....', Array, Array)
D:\\OSPanel\\domains\\onclinic-engine\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Connectors\\ConnectionFactory.php(183): Illuminate\\Database\\Connectors\\MySqlConnector->connect(Array)

我真的不明白,如果所有配置都设置为使用 mysql,为什么我的 API 服务器会因为 sqlite 数据库而失败

'default' => env('DB_CONNECTION', 'mysql'),
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],

更新

如果我从 postman 发送请求,一切工作正常,但 GuzzleHttp 给我带来麻烦。

最佳答案

好的,我找到问题所在了。Laravel 使用 PHP 环境,因此如果 laravel 配置未缓存,我的 API 服务器会从 API 客户端的 .env 文件获取值,因此当我向本地计算机上的 API 服务器发送请求时,它会使用 API 客户端初始化时设置的环境中的数据库名称。为了避免这种情况,只需将您的配置缓存在服务器上即可。

关于php - 来自另一个域数据库的 Laravel post 请求错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48500271/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com