Директива browscap ini не установлена
-
19-09-2019 - |
Вопрос
я использую get_browser()
функция в попытке предупредить людей о том, что их браузер не поддерживает Javascript.На самом деле я использую его, чтобы сообщить им, что они могут использовать определенные части веб-приложения, которое я создаю.Я решил правильно использовать Javascript, потому что устал слушать разработчиков, которые боятся его использовать, и я увидел в этом языке большой потенциал.Я отвлекся, вот в чем ошибка.
Директива browscap ini не установлена
Теперь я предполагаю, что это означает, что мне нужно что-то установить в php.ini.Может ли кто-нибудь дать мне какое-то направление по этому поводу?
Решение
Я не думаю, что это «лучшее» решение для определения того, поддерживает ли браузер то, что вам нужно для вашего веб-сайта:
- во-первых, браузеры могут лгать — они могут отправлять все, что захотят, как
User-Agent
- И даже если данная версия поддержки должна поддерживать то, что вам нужно, Javascript все равно можно отключить.
- во-вторых, есть более «правильный» способ определить, что браузер может делать, а что нет, когда дело касается Javascript.
Что касается второго пункта, вам следует проверить, действительно ли браузер поддерживает то, что вам нужно, а не полагаться на список, такой как список браузеров.
Тем не менее, чтобы ответить на ваш вопрос о browscap
:в нижней части страницы руководства есть примечание для get_browser
это говорит (цитирую) :
Примечание: Чтобы это сработало, ваш
browscap
Настройка конфигурации в php.ini должна указывать на правильное местоположениеbrowscap.ini
файл в вашей системе.browscap.ini
не связан с PHP, но вы можете найти актуальную »php_browscap.ini
файл здесь.
Покаbrowscap.ini
Содержит информацию во многих браузерах, она опирается на обновления пользователей, чтобы сохранить текущий ток базы данных.Формат файла довольно эксплуатационный.
Итак, вам предстоит:
- загрузите файл браузера,
- и установите
browscap
директива в вашемphp.ini
файл, поэтому он указывает на загруженный вами файл.
Другие советы
Я знаю, что эта тема старая, но вы можете использовать что-то вроде:
<noscript>JavaScript must be enabled</noscript>
для отображения, если JavaScript не включен.
Вы можете проверить браузер, используя класс Browser, загрузив его с сайта. Гитхаб
Конфигурация
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";
}
В PHP есть ошибка, которая также может привести к этой ошибке, когда реальная проблема заключается в том, что веб-сервер не может прочитать файл браузера (например, если он принадлежит пользователю root, а не www-data).Видеть https://bugs.php.net/bug.php?id=74501