3

私はHSCソフトウェアの設計と開発の主要プロジェクトのために企業のウェブサイトを開発しています。ユーザーのブラウザーがMySQLデータベースでサポートされているかどうかを確認し、サポートされていない場合は警告を表示してブラウザーの種類をログに記録するコードのセクションがあります。このコードは、get_browser関数を使用して(ほぼ)完全に機能し、次のようなメッセージを表示していました。

このサイトを表示するためにInternetExplorerを使用していることが検出されました。このブラウザはテストされておらず、完全なサポートを保証することはできません。最良の結果を得るには、GoogleChromeをお勧めします。

ただし、httpd.confを少し混乱させ、いくつかのサーバーを再起動したため、このコードは機能しなくなりました。ブラウザを「」として検出します。(空の文字列のみ)問題の原因を突き止めようとして、次の場所に簡単なデバッグ行を追加しました。

echo $_SERVER['HTTP_USER_AGENT'];

何らかの理由で、これはすべてのブラウザで次を返します。

Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 536.5(KHTML、Geckoなど)Chrome / 19.0.1084.56 Safari / 536.5

これが問題の原因だと思いますが、なぜそうなるのか誰か知っていますか?

4

1 に答える 1

0

繰り返しますが、私の問題の解決策は非常に具体的です。問題は次のとおりです。

私はホスティングにWebFactionを使用しています。これらには、アプリケーション、Webサイト、およびドメインのセットアップがあります。これはすばらしいですが、ここで完全に説明するには複雑すぎます。基本的に、httpd実行可能ファイルがランダムに消える日まで、私はWebサイトを正常に実行していました。WebFactionのサポートチームと話し合った後、Apacheを再構築して新しいアプリケーションに配置することにしました。これを行った後、私のサーバーは修正され、その後数週間はスムーズに稼働し続けました。数日前、少しのディスク容量を取り戻すために、古いアプリケーション(非アクティブであるがまだサーバー上にある)をクリアする時が来たと判断しました。私が気付いていなかったのは、新しいアプリケーションのPHP.iniが古いアプリケーションのbrowscap.iniを参照していることでした。これが削除されると、それはもう見つかりませんでした。エラーが返されます。PHPに行ったとき。

TL; DR、他の誰も移行を台無しにしない限り、この問題は発生しないはずです。

于 2012-06-16T06:49:54.057 に答える