ホームページ >バックエンド開発 >PHPチュートリアル >【オンラインヘルプ】PHPタイマーの問題について
php タイマーの問題に関して助けを求めている初心者:
php でタイマーを書きたいのですが、php はこの機能をサポートしていないようです。インターネットで多くの友人の方法を調べましたが、どれも機能しません。無限ループを使用してそれを実行したいのですが、うまくいきませんでした。そこで、お兄さんやお姉さんに助けを求めました。 。 。
<?php ignore_user_abort(true); set_time_limit(0); function test(){ echo "测试定时器!"; } do{ sleep(3);// test(); }while(1) ?>
何がしたいですか? php を介してページのセッション値を取得したいのですが、ページが閉じられている場合、またはセッション値が無効な場合は、SQL ステートメントを実行して現在のユーザーのログイン状態を変更します
残念ながら、php にはタイマーがありません。
PHP にタイマーがないのは残念です ああ、PHP にはタイマーがないことは知っているので、他の方法でそれを実現したいです
つまり、できないことを承知で実行しているのですか? ! ?
世の中に難しいことは何もありません。やる気のある人だけです
PHP は通常、スケジュールされたバッチを実行するために Linux cron と組み合わせられます
jquery 遅延を ajax と組み合わせて使用します。
crontab/スケジュールされたタスク
php タイマーの問題に関して助けを求めている初心者:
php でタイマーを書きたいのですが、php はこの機能をサポートしていないようです。インターネットで多くの友人の方法を調べましたが、どれもありませんでした。
私 今、無限ループでそれを達成したいのですが、うまくいかないので、長兄と妹に助けを求めました。 。 。
PHP code?1234567891011129aebb4f223e364c6392f63aafd5c533balert("Test Timer");9429d6e1efad07153846e528605c447e に変更しました。 "; わかりました?ポップアップが表示されない場合、SQL ステートメントを実行すると実行されますか?すぐに試してみてください
1 階の cainiaophper からの返信を引用: あなたは何をしたいですか? PHP を通じてページのセッション値を取得したいのですが、ページが閉じられている場合、またはセッション値が無効な場合は、SQL ステートメントを実行して現在のユーザーのログイン状態を変更する必要があるようです。データベースのユーザーテーブルの中央のキーが有効な時刻フィールドです。このフィールドのデータを現在の時刻と比較すると同時に、JS タイマーを書き込みます。 ajax がサーバーにアクセスして有効な時刻フィールドを更新するようにスケジュールします。
Web ページが閉じられている場合、有効時間は更新されません。たとえば、1 分ごとにアクセスをスケジュールした場合、有効時間が現在の時間から 1 分以上異なるユーザーは当然オンラインではありません。
Web ページが閉じられると有効時間は更新されません
たとえば、1 分ごとに訪問をスケジュールした場合、有効時間が現在の時間と 1 分以上異なるユーザーは当然オンラインにはなりません。実際、私が望む効果は、Web ページが不正に閉じられることです。たとえば、クライアントの電源がオフで Web ページが閉じられている場合、SQL ステートメントを実行してユーザーのログイン ステータスを変更します。
実際、私が望む効果は、Web ページが不正に閉じられることです。たとえば、クライアントの電源がオフで Web ページが閉じられている場合、SQL ステートメントを実行してユーザーのログイン ステータスを変更したいと考えています。ソケットで接続しない限り、クライアント Web ページのステータスをサーバー上で取得することはできません
私の方法は、Web ページが不正に閉じられると、データベース内の有効時間が更新されないように、ソケットのハートビート メカニズムを実装することです。したがって、Web ページが閉じていることがわかります
もちろん、ログイン ステータス フィールドを使用する必要がある場合は、PHP コードを使用してデータベース内の有効時間フィールドを継続的にクエリし、ログイン ステータスを変更するために有効期限が切れているかどうかを判断するだけです (ただし、この手順は必要ないと思います。時間フィールドを使用してログインステータスを直接置き換えることができます)
この関数を実装するには、再帰関数を使用できます
データベース操作を実行する時間を指定するには、ページ上に留まる必要があります。バックグラウンドで待機し、フロント デスクで他の操作を続行するにはどうすればよいですか?