3

私はかなり長い間 PHP のget_browser機能を使用してきましたが、自分の Web サイトで遅延に気づいたことはありません。しかし、最近、私のサイトの 1 つが、サーバー側でロードするのに必要以上に 1 秒ほどかかっていることに気付きました。関数をコメントアウトするget_browserと、ページがすぐに読み込まれました。

これは私のサーバーに関係している可能性がありますか、それともget_browser機能が遅いことが知られていますか? この Web サイトは、Windows サーバーで実行されている唯一の Web サイトですが、これが問題になる可能性はありますか? それとも、これは私の browscap.ini ファイル (これはhttp://browsers.garykeith.comから毎日更新されます) と関係があるのでしょうか?

関数を高速化するためにできることが何もない場合get_browser、それに代わるものはありますか? ブラウザに関する次の情報を確実に収集する必要があります。

  1. Chrome、IE、Safari などのブラウザ
  2. 10.1 などの (完全な) バージョン
  3. クローラーかボットか

ユーザー エージェントからこの情報を収集する他の方法を知りません。JavaScript を使用する方がよいでしょうか (サーバー側の値が必要なため、使用したくありません)。

4

4 に答える 4

6

また、使用時に約5秒の遅延が発生するget_browserため、別の解決策も探しました.

うまく機能し、確実に長い間最新の状態に保たれるのは、piwik の lib です。

于 2014-07-15T15:01:32.860 に答える
0

これまでのところ、この関数の適切な代替手段をget_browser見つけることができませんでした。また、LinuxではなくWindowsサーバーでこの関数が遅い理由を見つけることもできませんでした。

今のところ、基本的なCookieの回避策を適用します。私のサイトに最初にアクセスしたときに、ブラウザの詳細をCookieに保存し、それ以降、これらを取得します。これはget_browser、今のところ関数を使用するよりも高速です。

他の誰かが他の解決策を持っている場合は、コメントするか、投稿してください

于 2012-08-22T11:08:28.827 に答える
0

このクラスは便利です: http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/ . 多くのプロジェクトで使用していますが、get_browser を使用せず、代わりにブラウザーのユーザーエージェントを調べます。Windows Phone ブラウザーでバージョンを更新しました。http: //cl.ly/code/1V3E1k1G3B25からダウンロードできます。

于 2012-08-22T07:17:28.107 に答える