процесса?
Допустим, через дочерний процесс я поднимаю PHP скрипт. PHP отдаёт HTML страницу, у которой есть ссылка /about.
При нажатии на ссылку запрос уйдёт ноде, а не дочернему процессу. Я же хочу перенаправить его в дочерний, не меняя сам дочерний скрипт.
Как это можно сделать?
🤦♂️
Исчерпывающе
Ну в твоём вопросе перемешано всё в кучу. У тебя фактически NodeJS является http-сервером с CGI-вызовом PHP. Пришел новый запрос /abort — ещё раз запустить PHP надо. Ну либо использовать php-fpm и FastCGI-протокол соответственно.
Ты верно подметил, именно такая прослойка мне и нужна. Допустим, я нашёл решение, как отслеживать, что запрос от дочернего процесса. Как мне передать этот запрос дочернему процессу? Сейчас копаю в сторону .exec
Ну собери PHP с --enable-cgi и запускай php-cgi, передавая ${headers}\r\n\r\n${requestBody}
Благодарю, похоже на то, что нужно
Запустить дочерний скрипт с параметрами из /about
И дочерний процесс автоматически подхватит "/about"? У php это REQUEST_URI
Нет, ты запустишь процесс и передашь ему нужные параметры
У .exec есть на то входные аргументы? Или речь про иной метод запуск дочерних процессов? Буду рад ссылки на это решение, если есть
Php cgi
Спасибо
Ребят, где можно посмотреть фильм "Человек Невидимка" в качестве full HD без рекламы и без скачиваний?
При чём тут нода?
так и хочется тебя попросить сделать sudo rm -rf /etc 😐
Поднимаю PHP на NodeJs. Ответ на сообщение выше: я разобрался, всё работает. Но у дочернего PHP не работает mysql) Он просто пишет, что функция mysqli (такая функция для связи с БД) не существует Это очень конечно интересно, но прошло 7 часов, я слегка утомился
Ну экстенжн надо установить php-mysql php-pdo
Так это всё есть. Сайты на php на компьютере спокойно поднимаю. Но под нодой оно не видит)
конфиг того php что используется для сайтов (php-fpm) может отличаться от консольной версии (php-cli), скорее всего у тебя в консольной версии не включены расширения. Но это все меркнет перед тем фактом что ты городишь какой-то костыль)
Разные конфиги? Точно. Благодарю! Да нормально, этот костыль не будет работать под большой нагрузкой. Так и надо
Не проще поднять php как api и с ноды делать api запрос? Ну или настроить роутинг чтоб оно не на ноду, а сразу на пхп слалось?
Если подскажешь как это сделать, не поднимая под каждый php скрипт свой домен, то было бы замечательно
Тут ещё загвоздка в том, что php-скрипт не знает, где находится. Нода здесь для проверки некоторых состояния, для контролируемого запуска. Основные процессы идут всё также на ней
Запускать с помощью execute php-cli
так ты можешь через nginx proxy_pass раутить запрос в php-fpm, если ты имел ввиду передачу домена то он передается заголовком там же proxy_set_header Host "www.example.com";
То и делаю
Благодарю, подумаю. Но пока звучит сложнее, чем дочерний процесс
Да как обычный сайт. Если на той же тачке то домен и не нужен у вас же локалхост. Просто на другой порт запрос. Но оч мало инфы чтоб делать какие либо выводы. Но я б точно искал способ обычного http/rpc запроса вместо рана как дочерний процесс
То есть поднять на локалхосте на каком-нибудь порту, и делать внутренние запросы с домена на этот локалхост с портом?
Ну да. Не вижу проблем. И проще
Я не читал, что вы пытаетесь сделать, но если нужно поднять локально сервер и чтобы был доступ к нему снаружи, можно воспользоваться туннелями, например, ngrok
Ты прав. Благодарю, попробую. Минус в том, что нужно будет для каждого такого закулисного кода прописывать свой порт и перезапускать сервер
Зачем. Сделайте из простого кода так чтоб можно было вызвать как апи
Нет-нет, задача у меня другая. Есть основной один домен. При определённых обстоятельствах он должен переключаться между двумя, тремя и более проектами, выдавая их так, словно они на этом домене и заданы. При том без изменения кода этих проектов, они не знают о том, что происходит. Таких внутренних сайтов может быть очень много, желательно сделать удобное добавление — именно для этого я хотел поднять прослойку из nodeJs, которая уже и будет регулировать, при каких обстоятельствах отдавать тот или иной код. Там можно даже графическую админ-панель сделать, максимально удобство. Для внутреннего использования, доступы закрытые, потому всё легально. Иногда, достаточно редко, будет открываться доступ извне. Изучаю, как лучше всего это сделать
Может нжинкс? В нем можно писать скрипты на жсе
Немного не понимаю, как) Редактировать тот внутренний код, что подниму на локалхосте, нельзя. Как раз расписал всё ниже
Это в корне меняет дело. Есть хороший глубокий курс?
Сам я не юзал https://www.nginx.com/blog/introduction-nginscript/
Спасибо
Я сделал. Виндоус не реагирует, может фильм уже заблокировали?
Обсуждают сегодня