ホームページ  >  記事  >  バックエンド開発  >  【オンラインヘルプ】PHPタイマーの問題について

【オンラインヘルプ】PHPタイマーの問題について

WBOY
WBOYオリジナル
2016-06-23 14:11:011097ブラウズ

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 がサーバーにアクセスして有効な時刻フィールドを更新するようにスケジュールします。

引用 2 階 fff32165 の返信: 引用 1 Lou cainiaophper の返信: 何をしたいですか? PHP を通じてページのセッション値を取得したいのですが、ページが閉じられている場合、またはセッション値が無効な場合は、SQL ステートメントを実行して現在のユーザーのログイン状態を変更する必要があるようです。データベースのユーザー テーブルで有効な時刻フィールドを中クリックし、このフィールドのデータを現在の時刻と比較します。JS タイマーを使用すると、Web ページが次のようになります。 JSを閉じると無効になりますか?


Web ページが閉じられている場合、有効時間は更新されません。たとえば、1 分ごとにアクセスをスケジュールした場合、有効時間が現在の時間から 1 分以上異なるユーザーは当然オンラインではありません。
Web ページが閉じられると有効時間は更新されません
たとえば、1 分ごとに訪問をスケジュールした場合、有効時間が現在の時間と 1 分以上異なるユーザーは当然オンラインにはなりません。実際、私が望む効果は、Web ページが不正に閉じられることです。たとえば、クライアントの電源がオフで Web ページが閉じられている場合、SQL ステートメントを実行してユーザーのログイン ステータスを変更します。

実際、私が望む効果は、Web ページが不正に閉じられることです。たとえば、クライアントの電源がオフで Web ページが閉じられている場合、SQL ステートメントを実行してユーザーのログイン ステータスを変更したいと考えています。ソケットで接続しない限り、クライアント Web ページのステータスをサーバー上で取得することはできません
私の方法は、Web ページが不正に閉じられると、データベース内の有効時間が更新されないように、ソケットのハートビート メカニズムを実装することです。したがって、Web ページが閉じていることがわかります
もちろん、ログイン ステータス フィールドを使用する必要がある場合は、PHP コードを使用してデータベース内の有効時間フィールドを継続的にクエリし、ログイン ステータスを変更するために有効期限が切れているかどうかを判断するだけです (ただし、この手順は必要ないと思います。時間フィールドを使用してログインステータスを直接置き換えることができます)

window.setInterval(); を ajax と組み合わせて使用​​して、特定の PHP ファイルにデータを継続的に送信したり、データをリクエストしたりできます。

この関数を実装するには、再帰関数を使用できます

データベース操作を実行する時間を指定するには、ページ上に留まる必要があります。バックグラウンドで待機し、フロント デスクで他の操作を続行するにはどうすればよいですか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:SQL検索の問題次の記事:SQL検索の問題