无论我使用哪个版本或放在哪里,都无法在OSX上加载browscap

时间:2013-08-15 12:39:10

标签: php macos browscap

我正在尝试运行以下代码:

$browser = get_browser(null, true);
print_r($browser);

我得到的错误如下:

  

警告:get_browser()[function.get-browser]:browscap ini指令未在第3行的/Applications/XAMPP/xamppfiles/htdocs/series/firstfile/index.php中设置

我正在使用XAMPP运行OSX 10.8.4。我的php.ini文件中的browscap信息如下:

[browscap]
;browscap = /Applications/XAMPP/xamppfiles/etc/browscap.ini"

我也尝试过以下路径:

/Macintosh HD/Applications/XAMPP/xamppfiles/etc/browscap.ini

我自己下载并将browscap.ini文件放入该目录,并尝试从其他位置引用它,以防它出现权限问题。

我假设问题在于我如何编写路径,但我无法找到让XAMPP接受它的方法,当你转到phpinfo()时,它会列在'core'下{ {1}}。

显然,每次更改都会重启Apache等,以确保刷新browscap - no value

我能找到的所有信息似乎都与Windows而不是Mac有关,所以我很挣扎!

2 个答案:

答案 0 :(得分:0)

我想知道您希望从此功能中获得哪些有价值的信息。

但不管它是什么,请注意它被认为是不好的做法,因为你基本上是在练习基于服务器的客户端嗅探,而唯一的信息基础是用户代理字符串,它可以是任何东西而不需要代表真实的情况。此外,像“javascript”这样的信息只能代表客户端的编码能力,而不是当前配置的能力,这可能更少。

如果您仍然认为该功能有用,您必须解决获取此功能想要使用的“browscap.ini”文件副本的任务,并且您必须不断更新此文件以包含新文件浏览器版本。

get_browser()的文档页面上有一个指向文件源的链接。下载文件并将INI设置指向该位置。确保通过删除semikolon来激活它。

答案 1 :(得分:0)

我给了你解决问题的指示,我想这会对你有所帮助。你的文件路径是完全正确但你忘了删除分号和双引号标记[browscap] ; browscap = /Applications/XAMPP/xamppfiles/etc/browscap.ini“

点击链接下载文件并将其放在我在下面解释的文件路径中 http://tempdownloads.browserscap.com/stream.asp?PHP_BrowsCapINI

是的,似乎Mac OSX上的XAMPP安装方式不同,而且您没有指定根目录。首先,找到安装在以下位置的文件'php.ini':/Applications/XAMPP/xamppfiles/etc/php.ini其次,'php.ini'在此位置被写保护,因此将其复制到桌面,从而允许您改变它。从桌面打开TextEdit并查找文本“'[browscap]”(我们将回到此处)。第三,从Browser Capabilies Project下载文件'php_browscap.ini'的副本。

 Mac OSX (cont.) Fourth, change filename from 'php_browscap.ini' to 'browscap.ini'. Place a copy in the following location:** /Applications/XAMPP/xamppfiles/etc/extra/browscap.ini Fifth, now go back and update file 'php.ini' with the new location of 'browscap.ini' to read as follows: [browscap] browscap = /Applications/XAMPP/xamppfiles/etc/extra/browscap.ini Sixth, save 'php.ini' and copy from desktop back into original location: /Applications/XAMPP/xamppfiles­/etc/php.in
   Seventh, restart XAMPP. ** Note: I think the location of 'browscap.ini' may be somewhat arbitrary. What seems most important is the pathname that is listed in file 'php.ini' under [browscap] (in my case, browscap = /Applications/XAMPP/xamppfiles­/etc/extra/browscap.ini). Good luck fellow Mac XAMPP users!