php - 使用 curl_init() 调用同一域和服务器上的其他项目
问题描述
我在同一个域和服务器上使用 use curl_init() 时遇到问题。我在使用 xampp(窗口)运行的同一环境中有 2 个 Laravel 项目。项目 A 是 API 使用数据库名称 X(RDS) 项目 B 调用 API 使用数据库名称 Y(MySql)
示例网址
项目 A ww.example/project_a/
项目 B ww.example/project_b/
问题
项目 B 使用项目 A 的 curl_init() 调用 API 从数据库 X(RDS) 获取数据,但项目 A 尝试在 MySql(项目 B 连接) 中查找数据库 X,然后出错。
我已经尝试让这两个项目在不同的服务器上运行它可以工作。我必须配置一些东西吗?
这里 .env 两者
项目A
APP_NAME= A
APP_ENV=local
APP_KEY=XXXXXXXXXXXXX
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=rds
DB_HOST=rds_url
DB_PORT=3306
DB_DATABASE=X
DB_USERNAME=xx
DB_PASSWORD=xx
项目 B
APP_NAME_B= B
APP_ENV_B=local
APP_KEY_B=YYYYYYYYYYYYY
APP_DEBUG_B=false
APP_LOG_LEVEL_B=debug
APP_URL_B=http://localhost
DB_CONNECTION_B=mysql
DB_HOST_B=127.0.0.1
DB_PORT_B=3306
DB_DATABASE_B=Y
DB_USERNAME_B=yy
DB_PASSWORD_B=yy
卷曲
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "http://ww.example/project_a/booking-box/get-data-by-api",
CURLOPT_COOKIESESSION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
//"authorization: ",
"cache-control: no-cache",
"content-type: Application/json"
),
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
错误因为项目A在Mysql中找不到X
"SQLSTATE[HY000] [1049] Unknown database 'X' (SQL: select * from `...` where `...` = 1 limit 1)"
也已经尝试过但无法正常工作 同一服务器上的两个 Laravel 应用程序相互冲突
解决方案
推荐阅读
- javascript - 如何在 Javascript ES6 中按年和月排序
- haskell - 错误:输入“,”时解析错误 - Haskell
- python - DataLoader 不会在 PyTorch 中随机采样
- java - Java SE 10.0.1 的 Eclipse Oxygen Window Builder 错误
- github - GitHub - PR 请求
- r - 我应该如何修复我的 x 轴?
- rest - 使用 Ember 使用 Dark Sky Weather API 时出现 404
- clipboard - API 在 monaco-editor 中获取 html 格式的内容?
- python - 使用 Tee-Object 将 python 脚本的结果输出到终端和文件
- javascript - 如何在 ejs 文件、nodeJS 应用程序中包含 JS 脚本?