У меня есть два приложения PHP на моем сервере. У одного из них есть RESTAPI, который я хотел бы использовать и визуализировать во втором приложении. Что может быть лучше, чем керлинг API? Можно ли как-то спросить у php-fpm данные напрямую или что-то в этом роде?
Выполнение curl и выполнение запроса через веб-сервер кажется неправильным.
Все это происходит на одном сервере — я знаю, что это не очень хорошо масштабируется, но это небольшой проект.
зачем использовать REST, если вы можете получить доступ к функциям напрямую?
Если все находится на одном и том же сервере, тогда нет необходимости в некотором REST, так как он делает несколько бессмысленным прогон через веб-сервер.
Но если он уже есть и вам не нужны накладные расходы (если трафика не много, это будет иметь смысл), используйте file_get_contents
вместо curl
, это проще в использовании, но я сомневаюсь, что это быстрее / медленнее; оба правы.
Вы также можете использовать второй веб-сервер (второй виртуальный хост) на другом порту для внутреннего использования. Таким образом, вещи хорошо разделены.
(Если все находится на разных серверах, кроме локальной сети, то использование сокетов будет самым быстрым. )
Выполнение curl и выполнение запроса через веб-сервер кажется неправильным. — Я не согласен с этим. Вы все еще можете достичь того, чего хотите, используя Php CURL, даже если он находится на том же сервере.
У меня была та же проблема, но я решил ее, используя MySQL для «постановки в очередь» задач, и рабочий мог использовать любой метод объединения или PHP, выполняющий нового работника на стороне сервера.
Так как результаты были сохранены в той же базе данных, страницы PHP могли загружать результаты или статус в любое время.