get_browser不工作

时间:2010-06-09 05:13:20

标签: php browser

它没有工作。我的意思是我有很多脚本来获取ip和os但是无论如何get_browser是内部函数,应该可以工作,但不是。当我尝试在我得到的函数上获得print_r时。

Array ( [browser_name_regex] => §^.*$§ [browser_name_pattern] => * [browser] => Default Browser [version] => 0 [majorver] => 0 [minorver] => 0 [platform] => unknown [alpha] => [beta] => [win16] => [win32] => [win64] => [frames] => 1 [iframes] => [tables] => 1 [cookies] => [backgroundsounds] => [cdf] => [vbscript] => [javaapplets] => [javascript] => [activexcontrols] => [isbanned] => [ismobiledevice] => [issyndicationreader] => [crawler] => [cssversion] => 0 [supportscss] => [aol] => [aolversion] => 0 ) 

我正在使用win7和firefox。 我有最新的browcap并在php.ini.without中设置,当idont获得一个时,php返回错误。

4 个答案:

答案 0 :(得分:15)

我听说很多人抱怨这个功能在他们的网站上不起作用。如果您仔细查看手册,您会发现以下通知:

  1. 您需要做的第一件事是检查您的系统是否安装了browscap.ini,如果没有,您可以自行完成。调用phpinfo()函数。这有助于您收集有关系统的一些信息:

  2. 如果未安装browscap,请查找配置文件(php.ini)路径。这是您的PHP配置文件所在的位置并启用browscap设置。完成后,它应如下所示:

    [browscap]

    browscap =“D:\ xampp \ php \ extras \ browscap.ini”

  3. 重启你的apache尝试下面的代码

    $ browser = get_browser(null,true);

    的print_r($浏览器);

  4. 如果您的get_browser()仍无法正常运行,则可能是您的browscap.ini文件存在问题。您可以从https://browsers.garykeith.com/downloads下载更新的browscap.ini文件,并替换您的browscap.ini将位于/php/extras/browscap.ini

  5. 完成后,再次重启apache并执行代码。

答案 1 :(得分:9)

确保您拥有最新的browscap文件。阅读get_browser文档中的注释。

如果您不是服务器管理员,请查看phpbrowcap,它实现了相同的功能,但您可以使用另一个broswcap文件而不是服务器范围的文件。

答案 2 :(得分:6)

来自php.net

  

注意:为了实现这一点,您的   browscap配置设置   php.ini必须指向正确的   browscap.ini文件的位置   你的系统。 browscap.ini不是   捆绑了PHP,但你可能会发现   最新»php_browscap.ini文件   这里。而browscap.ini包含   关于许多浏览器的信息,它   依靠用户更新来保持   数据库当前。格式   文件是相当不言自明的。

听起来像你的browscap.ini不是最新的。

答案 3 :(得分:1)

我浪费了很多时间来学习如何使用那个功能,

虽然我终于明白男人永远不应该使用这个功能,但它会扼杀你的表现!!!

尝试使用/不使用get_browser来检查结果。

ab -c 100 -n 100 http://yourserver/

使用preg_match_all('/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i', $_SERVER['HTTP_USER_AGENT'])代替