Programing

Node.js 웹 서버 내에서 PHP 스크립트 실행

lottogame 2020. 11. 5. 07:37
반응형

Node.js 웹 서버 내에서 PHP 스크립트 실행


PHP 스크립트를 실행하는 Apache와 같은 Node.js 웹 서버 기능을 사용하려면 어떤 단계가 필요합니까? Node.js 내에서 PHP를 통합하는 방법이 있습니까?

참고 : Node.js 내에서 직접 PHP 스크립트를 실행하지 않고 Apache 인스턴스 또는 유사한 것을 통해 "라우팅"하고 싶습니다.


Node.js는 JavaScript 만 지원합니다. 다음은 Node.js를 사용하여 PHP를 실행하는 방법에 대한 자습서입니다.

http://blog.mixu.net/2011/01/04/nginx-php-fpm-and-node-js-install-on-centos-5-5/


저도 같은 질문을했습니다. 쉘 인터페이스를 통해 PHP를 호출 해 보았고 원하는 결과를 얻었습니다.

var exec = require("child_process").exec;
app.get('/', function(req, res){exec("php index.php", function (error, stdout, stderr) {res.send(stdout);});});

이것은 권장 사례 목록에서 높지 않지만 내가 원하는 것을 수행하는 것 같았습니다. 반면에 Node.js에서 직접 PHP 스크립트를 실행하고 싶지 않지만 다른 웹 서버에서이를 릴레이하려는 경우 트릭을 수행하는 것 같습니다.

var exec = require("child_process").exec;
app.get('/', function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});

여기를보세요 : https://github.com/davidcoallier/node-php

그들의 읽기에서 :

Node.js에서 실행되는 인라인 PHP 서버

걱정하고, 매우 걱정하세요. 이름은 NodePHP은 우리가 효과적으로 FastCGI 인터페이스에 좋은 Node.js를 서버에 의존하고 있다는 사실에서 그 이름을 따 그 PHP-FPM과 상호 작용한다.

이것은 omega-alpha-super-beta-proof-of-concept이지만 이미 몇 가지 간단한 스크립트를 실행합니다. PHP 개발자를위한 Node.js에 대한 저의 강연 은 대부분 사람들이 Apache없이 PHP를 실행할 수있는 인라인 PHP 서버 를 출시하기로 결정했을 때 Orchestra 와 함께 사용할 가능성이 가장 큰 흥미로운 프로젝트입니다 . Nginx 또는 모든 웹 서버.

예, 이것은 Node.js의 모든 아이디어와 개념에 위배되지만 개발자가 이전보다 훨씬 빠르게 진행할 수 있도록 모든 작업 디렉토리에서 직접 웹 서버를 만들 수 있다는 것입니다. 더 이상 가상 호스트 또는 서버 블록을 만들거나 / etc / hosts를 수정할 필요가 없습니다.


노드 용 SPHP 모듈을 사용하여 웹 서버와 마찬가지로 PHP를 실행할 수 있습니다.
호환되지만 Express에 의존하지 않습니다.
또한 HTTP 포트에서 웹 소켓 요청을 지원합니다.
리소스를 절약하는 대신 작은 부하에서 속도를 선호합니다.

노드에 설치하려면 :

npm install sphp

앱에서 :

var express = require('express');
var sphp = require('sphp');

var app = express();
var server = app.listen(8080);

app.use(sphp.express('public/'));
app.use(express.static('public/'));

자세한 내용은 https://github.com/paragi/sphp참조하십시오.

나는 저자이기 때문에 약간 편향되어 있습니다. :)


직접 링크 노드-> fastcgi-> php를 구현할 수 있습니다. 이전 답변에서 nginx는 http-> fastcgi serialization-> unix socket-> php 및 노드 요청을 http-> nginx 역방향 프록시-> 노드 http 서버로 사용하여 php 요청을 처리합니다.

것 같다 노드 된 FastCGI paser는 있지만 노드 FastCGI를 백엔드로, 순간에 가능한 것입니다. php fastcgi 서버에 fastcgi 클라이언트로 사용하려면이를 채택해야합니다.


생각 에는 간단하고 빠른 접근 방식dnode-php 를 사용하는 것입니다.

여기 에서 간략한 소개를 볼 수 있습니다 . 간단하고 빠르고 쉽습니다!


php가 FPM 모드 인 경우 node-phpfpm이 옵션 일 수 있습니다. 문서 https://www.npmjs.com/package/node-phpfpm을 확인 하십시오.


node-php를 사용하여 노드 js로 php를 실행할 수 있습니다 : https://github.com/mkschreder/node-php


노드 WAS를 사용하여 PHP를 직접 제공 할 수 있습니다. https://github.com/paragi/was


체크 아웃해야합니다 node-php-fpm.

참고 URL : https://stackoverflow.com/questions/6542169/execute-php-scripts-within-node-js-web-server

반응형