開始するには、私はPHPを介してノードアプリケーションを起動しようとしています。ノードアプリケーションが実行されているかどうかを確認し、終了して起動できるスクリプトを作成しました。しかし、私はPHPで画面を使用することにいくつかの問題があります。PHP経由でスクリーンセッション内でノードを起動する際の問題
私が続行する前に、私がそれをしてはいけないことについてのコメントは、ウェブサイトと一緒に働いているので、PHPで起動する必要があります。設定を変更すると、アプリケーションを再起動します(別のアイデアがない限り)。
私は現在のコマンドを使用しています:
screen -dmS NODEJS node main.js 121016
今私は(限り、PHP /ノードは永遠に実行されませんので、私はどこかprocess.exitを追加する)ノードを起動し、出力を得ることができます。私はすでに正しいディレクトリに入っています。私はこのコードを使って起動しています:
$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私はスクリーンを使用しているので、何かがうまくいかない場合に備えてプログラムに接続できるようになっています。私はそれにもコマンドを送信することができますか?私はそれもコマンドを送信する必要があるように! –