アプリにプッシュ通知を追加しようとしています。すべて正常に動作しています (メッセージを受け取ります) が、スクリプトをバックグラウンドで動作させることができません。メッセージを自動的に送信するために、24時間年中無休のバックグラウンドでpush.phpを実行したいと考えています。私はそれをバックグラウンドに入れることができました(私が開かなくてもcPanelのプロセスマネージャーに表示されます)が、実際には何も起こりません. push.php がデバイスに送信するプッシュを受け取りません。ただし、手動で push.php にアクセスすると、数秒でプッシュを受け取ります。
私が試してみました:
passthru("/usr/bin/php -q /path/to/push.php >> /path/to/log.log 2>&1 &");
log.log には、「Content-type: text/html」が何度も出力されます。
exec ("nohup /usr/bin/php -q /path/to/push.php >/path/to/log.log &");
log.log には、「Content-type: text/html」が 1 回出力されます。
exec("nohup php /path/to/push.php > /dev/null 2> /dev/null&");
それらはすべてcPanelプロセスに表示されますが、実際にデバイスにプッシュするために送信するものはありません。また、push.php が cPanel に複数回表示されることがあります。上で述べたように、push.php に手動でアクセスすると、プッシュが取得されます。