시작하려면; PHP를 통해 노드 응용 프로그램을 시작하려고합니다. 노드 응용 프로그램이 실행 중인지 확인하고 닫은 다음 시작할 수있는 스크립트를 만들었습니다. 하지만 PHP로 화면을 사용하는데 약간의 문제가 있습니다.PHP를 통해 화면 세션 내에서 노드를 시작하는 데 문제가 발생했습니다.
계속하기 전에 내가 어떻게해서는 안되는 지에 대한 의견은 웹 사이트와 함께 작동하기 때문에 PHP를 통해 시작해야하며 고객이 원하는대로 할 수 있기를 바랍니다. 설정을 변경하십시오. 다른 아이디어가없는 한 응용 프로그램이 다시 실행됩니다.
저는 현재 명령을 사용하고 있습니다 : (PHP/노드 영원히 실행되지 않도록 내가 어딘가에 process.exit를 추가 한)
screen -dmS NODEJS node main.js 121016
가 지금은 노드를 시작하고, 출력을 얻을 수 있습니다. 나는 올바른 디렉토리에 이미 있습니다.이 코드를 사용하여 실행합니다 :
$out = shell_exec('screen -dmS NODEJS node main.js 121016');
var_dump($out);
그러나 화면 세션을 생성하지 않습니다. 나는 또한 시도 :
$proc = proc_open('screen -dmS NODEJS node main.js 121016', $this->pipe_spec, $pipes);
는 또한 exec
과 뒷면 눈금을 사용하려고하지만 난 후면 진드기가 shell_exec와 동일 상당히 확신?
어쨌든 나는 완전히 잃어 버렸고, 내가 무엇을 할 수 있는지 잘 모르겠습니다. 노드를 지속적으로 실행하고 싶지 않기 때문에 관리자 (PHP)에서 save를 클릭하면 시작한 다음 작업을 완료하면 닫히고 중지됩니다.
도움이되는 데 도움이 될만한 시간을 보냈지만 시간이 많이 걸렸습니다. 어쨌든 덕분입니다.
왜 화면을 사용하려고하십니까? –
그냥'exec ('node main.js &');' – Philipp
@JonStirling) 화면을 사용하고 있습니다. 웹 사이트와 함께 실행되기 때문에 문제가 발생하면 프로그램에 연결할 수 있습니다. –