get_browser не работает - PullRequest
       3

get_browser не работает

7 голосов
/ 09 июня 2010

это не работает. Я имею в виду, что у меня много сценариев для получения 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, что php возвращает ошибку, в то время как idont получить его.

Ответы [ 4 ]

15 голосов
/ 20 сентября 2012

Я слышал, что многие жалуются на то, что эта функция просто не работает на их сайте.Если вы внимательно посмотрите на руководство, вы заметите следующее уведомление ниже:

  1. Первое, что вам нужно сделать, это проверить, если вашВ системе установлен browscap.ini, и если нет, можете ли вы сделать это самостоятельно.вызвать функцию phpinfo ().Это поможет вам собрать некоторую информацию о вашей системе:

  2. Если browscap не установлен, найдите путь к файлу конфигурации (php.ini).Вот где находится ваш файл конфигурации PHP и включите настройки браузера. После этого он должен выглядеть примерно так:

    [browscap]

    browscap = "D: \ xampp \php \ extras \ browscap.ini "

  3. Перезапустите Apache, попробуйте следующий код

    $ browser = get_browser (null, true);

    print_r($ browser);

  4. , если ваш get_browser () по-прежнему не работает должным образом, возможно, проблема в файле browscap.ini.Вы можете скачать обновленный файл browscap.ini с https://browsers.garykeith.com/downloads, и заменить его. Browscap.ini будет расположен в /php/extras/browscap.ini

  5. Как только вы это сделаете,Перезапустите Apache и выполните код.

9 голосов
/ 09 июня 2010

Убедитесь, что у вас есть актуальный файл browscap.Прочитайте примечания в документации get_browser .

Если вы не являетесь администратором сервера, посмотрите phpbrowcap , который реализует те же функции, но делает его возможным для васиспользовать другой файл broswcap, кроме общесерверного.

6 голосов
/ 09 июня 2010

из php.net :

Примечание: Чтобы это работало, настройки конфигурации браузера в php.ini должны указывать направильное расположение файла browscap.ini в вашей системе.browscap.ini не поставляется с PHP, но вы можете найти актуальный файл »php_browscap.ini здесь.Хотя browscap.ini содержит информацию о многих браузерах, он поддерживает обновления пользователей для поддержания актуальности базы данных.Формат файла довольно понятен.

звучит так, будто ваш browscap.ini не обновлен.

1 голос
/ 09 августа 2013

Я потратил много времени, чтобы научиться использовать эту функцию,

Хотя я наконец понял, что мужчина никогда не должен использовать эту функцию, это убьет вашу производительность !!!

попробуйте с / без 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']) вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...