директива browscap ini не установлена - PullRequest
40 голосов
/ 10 января 2010

Я использую функцию get_browser(), чтобы предупредить людей, что их браузер не поддерживает Javascript. На самом деле я использую его, чтобы сказать им, что они могут использовать определенные части веб-приложения, которое я создаю. Я решил правильно использовать Javascript, потому что мне надоело слушать разработчиков, которые боятся его использовать, и я видел большой потенциал в языке. Я отвлекся, вот ошибка.

директива browscap ini не установлена ​​

Теперь я представляю, что мне нужно что-то установить в php.ini. Кто-нибудь может дать мне какое-то руководство по этому вопросу?

Ответы [ 4 ]

71 голосов
/ 10 января 2010

Я не думаю, что это «лучшее» решение для обнаружения, поскольку браузер поддерживает то, что вам нужно для вашего сайта:

  • Прежде всего, браузеры могут лгать - они могут отправлять все что угодно как User-Agent
    • И даже если данная версия поддержки должна поддерживать то, что вам нужно, Javascript все равно можно отключить.
  • во-вторых, есть более «правильный» способ определить, что браузер может делать или не делать, когда дело доходит до Javascript.

Что касается второго пункта, вы должны проверить, действительно ли браузер поддерживает то, что вам нужно, и не полагаться на список, такой как browscap.


Тем не менее, чтобы ответить на ваш вопрос о browscap: в нижней части страницы руководства есть примечание для get_browser, в котором говорится (цитирование) :

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

Итак, вы должны:

  • скачать файл browscap,
  • и установите директиву browscap в файле php.ini, чтобы она указывала на загруженный файл.
17 голосов
/ 13 февраля 2013

Я знаю, что эта тема старая, но вы можете использовать что-то вроде:

<noscript>JavaScript must be enabled</noscript>

для отображения, если JavaScript не включен.

2 голосов
/ 02 марта 2015

Вы можете проверить браузер с помощью класса Browser, скачав его с Github

Конфигурация

      include(/your-path/Browser.php);
$browser = new Browser();
    if( $browser->getBrowser() == Browser::BROWSER_IE && $browser->getVersion() >= 8 ) 
        {
            echo "Your browser is Internet explorer version 8";                                                                                                                                    
    }
0 голосов
/ 27 апреля 2017

В PHP есть ошибка, которая также может привести к этой ошибке, когда реальная проблема заключается в том, что веб-сервер не может прочитать файл browscap (например, если он принадлежит пользователю root вместо www-data). Смотри https://bugs.php.net/bug.php?id=74501

...