我正在使用get_browser()
功能试图警告人们他们的浏览器不支持Javascript。实际上我正在用它来告诉他们他们可以使用我正在构建的Web应用程序的某些部分。我已经决定正确使用Javascript,因为我已经厌倦了听害怕使用它的开发人员而且我已经看到了这种语言的一些巨大潜力。我离题了,这是错误。
browscap ini指令未设置
现在我想象这意味着我需要把它设置为php.ini。有人可以给我一些方向吗?
答案 0 :(得分:71)
我不认为这是“最佳”检测解决方案,浏览器支持您的网站所需的内容:
User-Agent
对于第二点,您应该测试浏览器是否真正支持您需要的内容 - 而不是依赖于诸如browscap之类的列表。
尽管如此,要回答关于browscap
的问题:get_browser
手册页底部有一条说明(引用):
注意:为了实现此目的,请执行
browscap
配置 php.ini中的设置必须指向browscap.ini
的正确位置 您系统上的文件。browscap.ini
是 没有捆绑PHP,但你可能会发现 这里是最新的»php_browscap.ini
文件。
虽然browscap.ini
包含 关于许多浏览器的信息,它 依靠用户更新来保持 数据库当前。格式 文件是相当不言自明的。
所以,你必须:
browscap
文件中设置php.ini
指令,使其指向您下载的文件。答案 1 :(得分:17)
我知道这个话题很老,但你可以使用类似的东西:
<noscript>JavaScript must be enabled</noscript>
显示JavaScript是否未启用。
答案 2 :(得分:2)
您可以使用浏览器类从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";
}
答案 3 :(得分:0)
当真正的问题是Web服务器无法读取browscap文件时(例如,如果它由root而不是www-拥有),PHP中存在一个错误也可能导致此错误数据)。见https://bugs.php.net/bug.php?id=74501