Используя curl_init (), вызовите другой проект на том же домене и сервере - PullRequest
0 голосов
/ 26 сентября 2019

У меня проблема с использованием функции 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 на одном сервере конфликтуют друг с другом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...