送信された情報を処理し、その情報をデータベースを管理し、購読者のリストに通知を送信します。ただし、サブスクライバーの数 (約 150) により、このプロセスにはかなりの時間がかかります (1 分以上)。これにより、ユーザーは遅延と潜在的な問題を経験することになります。
これに対処するには、スクリプトの電子メール通知部分を個別のファイルに分離する必要があります。ただし、このファイルをバックグラウンド タスクとして実行することは、ユーザーの操作の必要性をなくすために不可欠です。
PHP スクリプトをバックグラウンド サービスとして実行するには、外部プロセスは、exec またはshell_exec のいずれかを使用して呼び出す必要があります。
shell_exec を使用すると、通知プロセスのログを記録できます。次のコマンドは、目的の機能を実現します。
shell_exec("/path/to/php /path/to/send_notifications.php '".$post_id."' 'alert' >> /path/to/alert_log/paging.log &");
コマンドの末尾の & 文字は、プロセスがバックグラウンドで実行される必要があることを示します。
以上がフォーム送信後に長時間実行される PHP スクリプトをバックグラウンドで実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。