У меня проблема с использованием функции curl_init () в одном домене и на сервере.У меня есть 2 проекта Laravel в той же среде, запущенной с xampp (окно).Проект A - это имя базы данных, использующее API X (RDS). Проектный вызов API - это имя базы данных API Y (MySql)
Пример URL
Проект A ww.example / project_a /
Проект B ww.example / project_b /
Проблема
Проект B использует API вызова curl_init () из проекта A для получения данных из базы данных X (RDS), но проект A пытается найти базу данных Xв MySql (подключение к проекту B), а затем ошибка.
Я уже пытался заставить оба проекта работать на другом сервере, он может работать.Нужно ли что-то настраивать?
Здесь .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);
Ошибка, так как Project A не может найти X в Mysql
"SQLSTATE[HY000] [1049] Unknown database 'X' (SQL: select * from `...` where `...` = 1 limit 1)"
Также уже попробуйте это, но не работаете Два приложения Laravel на одном сервере конфликтуют друг с другом