我正在使用该get_browser()
功能试图警告人们他们的浏览器不支持 Javascript。实际上,我用它来告诉他们他们可以使用我正在构建的 Web 应用程序的某些部分。我决定正确使用 Javascript,因为我厌倦了听那些害怕使用它的开发人员的话,而且我已经看到了该语言的一些巨大潜力。我离题了,这是错误。
browscap ini 指令未设置
现在我想这意味着我需要将它设置为 php.ini。有人可以给我一些指导吗?
我正在使用该get_browser()
功能试图警告人们他们的浏览器不支持 Javascript。实际上,我用它来告诉他们他们可以使用我正在构建的 Web 应用程序的某些部分。我决定正确使用 Javascript,因为我厌倦了听那些害怕使用它的开发人员的话,而且我已经看到了该语言的一些巨大潜力。我离题了,这是错误。
browscap ini 指令未设置
现在我想这意味着我需要将它设置为 php.ini。有人可以给我一些指导吗?
我不认为这是检测浏览器是否支持您的网站所需的“最佳”解决方案:
User-Agent
对于第二点,您应该测试浏览器是否真的支持您所需要的——而不是依赖于诸如browscap 之类的列表。
不过,要回答您的问题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 未启用,则显示。
您可以使用从Github下载的 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";
}
当真正的问题是 Web 服务器无法读取 browscap 文件(例如,如果它由 root 而不是 www-data 拥有)时,PHP 中的一个错误也可能导致此错误。见https://bugs.php.net/bug.php?id=74501