browscap ini指令没有设置

我使用get_browser()函数来试图警告人们他们的浏览器不支持Javascript。 其实我用它来告诉他们可以使用我正在构build的Web应用程序的某些部分。 我决定正确地使用Javascript,因为我厌倦了听开发者害怕使用它,而且我已经看到了这个语言的一些巨大的潜力。 我离题了,这是错误。

browscap ini指令没有设置

现在我想像这意味着我需要somthing设置它的php.ini。 有人能给我这个方向吗?

我不认为这是“最好”的解决scheme,检测是一个浏览器支持您的网站所需:

  • 首先,浏览器可以说谎 – 他们可以发送任何想要的User-Agent
    • 即使支持的给定版本应该支持你所需要的,JavaScript仍然可以被禁用。
  • 第二,当涉及到Javascript时,有更多的“正确的”方式来检测浏览器可以做什么或不做什么。

对于第二点,你应该testing浏览器是否真正支持你所需要的 – 而不是依赖于诸如browscap之类的列表。

不过,要回答关于browscap的问题: get_browser的手册页底部有一个注释(引号)

注意:为了使其工作,php.ini中的browscapconfiguration设置必须指向系统上browscap.ini文件的正确位置。 browscap.ini不与PHP捆绑在一起,但是你可以在这里find一个最新的» php_browscap.ini文件。
虽然browscap.ini包含许多浏览器的信息,但它依赖于用户更新来保持数据库最新。 该文件的格式是相当不言自明的。

所以,你必须:

  • 下载browscap文件,
  • 并在你的php.ini文件中设置browscap指令,所以它指向你下载的文件。

我知道这个主题是旧的,但你可以使用像这样的东西:

 <noscript>JavaScript must be enabled</noscript> 

如果JavaScript未启用则显示。

您可以使用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"; } 

在PHP中有一个错误,当真正的问题是Web服务器不能读取browscap文件(例如,如果它由root拥有而不是www-data),也会导致这个错误。 请参阅https://bugs.php.net/bug.php?id=74501

Interesting Posts