Php 未设置browscap ini指令

Php 未设置browscap ini指令,php,javascript,ini,browscap,Php,Javascript,Ini,Browscap,我使用get\u browser()函数试图警告人们他们的浏览器不支持Javascript。实际上,我用它告诉他们可以使用我正在构建的web应用程序的某些部分。我决定正确地使用Javascript,因为我听腻了害怕使用它的开发人员的话,我已经看到了该语言的巨大潜力。我离题了,这里是错误 未设置browscap ini指令 现在我想这意味着我需要一些东西来设置php.ini。有人能给我一些这方面的指导吗?我认为这不是检测浏览器是否支持您的网站所需的“最佳”解决方案: 首先,浏览器可能会撒谎——它

我使用
get\u browser()
函数试图警告人们他们的浏览器不支持Javascript。实际上,我用它告诉他们可以使用我正在构建的web应用程序的某些部分。我决定正确地使用Javascript,因为我听腻了害怕使用它的开发人员的话,我已经看到了该语言的巨大潜力。我离题了,这里是错误

未设置browscap ini指令

现在我想这意味着我需要一些东西来设置php.ini。有人能给我一些这方面的指导吗?

我认为这不是检测浏览器是否支持您的网站所需的“最佳”解决方案:

  • 首先,浏览器可能会撒谎——它们可以作为
    User Agent
    • 即使给定版本的支持应该支持您需要的内容,Javascript仍然可以被禁用
  • 第二,当涉及Javascript时,有更“正确”的方法来检测浏览器能做什么或不能做什么
对于第二点,您应该测试浏览器是否真正支持您所需的内容,而不是依赖于诸如browscap one之类的列表


尽管如此,要回答您的问题:手册页面底部有一个注释,上面写着(引用):

注意:为了使此功能正常工作,您的配置 php.ini中的设置必须指向
browscap.ini的正确位置
在您的系统上创建文件<代码>browscap.iniis 不与PHP捆绑,但您可能会发现 这里有一个最新的文件。
browscap.ini
包含 许多浏览器上的信息,它 依靠用户更新来保持 数据库当前。文件的格式 这个文件是相当不言自明的

因此,你必须:

  • 下载browscap文件
  • 并在
    php.ini
    文件中设置
    browscap
    指令,使其指向您下载的文件

我知道这个主题很老,但你可以使用以下内容:

<noscript>JavaScript must be enabled</noscript>
JavaScript必须启用

显示是否未启用JavaScript。

您可以使用浏览器类检查浏览器,然后从下载

配置

      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中存在一个bug,当真正的问题是web服务器无法读取browscap文件(例如,如果它由root而不是www数据拥有)时,也可能导致此错误。请参见

browscap功能将告诉您浏览器是否支持Javascript,但不会告诉您浏览器是否禁用了Javascript。你需要用另一种方式告诉他们。这可能是你正在寻找的解决方案:哦,伙计。。。人们禁用javascript(即使使用“NoScript”之类的扩展)。这与浏览器支持无关,而且,使用Javascript作为核心功能将意味着许多具有可访问性问题的用户将无法使用您的网站。不要依赖用户代理嗅探,也不要阅读渐进增强。如果我无法访问我的php.ini文件,例如,我在一个网络主机上?如何使用ini_set()设置browsercap位置?browscap标记为PHP_ini_系统,因此无法使用ini_set或通过htaccess进行更改。请解释检测浏览器的最佳方法?感谢您的指点。要在无法访问php.ini的情况下使用Browscap,可以使用。请注意,browscap项目当前已关闭,但正在恢复。@arundex使用功能检测比检查它是什么浏览器更可靠。这很有帮助。此外,如果有人像我一样对此不熟悉,则标记会为在浏览器中禁用脚本或浏览器不支持脚本的用户定义备用内容。你说得对!不幸的是,这个问题仍然没有解决办法。我正在Windows(WAMP服务器)下运行Apache/MySQL/PHP,但不幸的是,我为让ini文件可访问所做的所有努力都没有奏效。。。