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


Cannot get browscap to load on OSX no matter which version I use or where I put it

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

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

我得到的错误如下:

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

我正在运行带有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'下被列为browscap - no value

很明显,我一直在重新启动Apache等,每次更改都确保刷新php.ini

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

我想知道您希望从这个函数中获得什么样的有价值的信息。

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

如果你仍然认为该函数有任何用处,你必须解决获取该函数想要使用的"browscap.ini"文件副本的任务,并且你必须不断更新该文件以包括新的浏览器版本。

get_browser()的文档页面上有一个指向文件源的链接。下载一个文件并将INI设置指向该位置。一定要通过去除半胶来激活它。

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

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

是的,看起来XAMPP在Mac OSX上的安装方式不同,而且你没有指定根目录。首先,找到安装在以下位置的文件"php.ini":/Applications/XAMPP/examplefiles/etc/php.ini第二,"php.ini"在此位置受写保护,因此将其复制到桌面,从而允许您对其进行更改。从TextEdit中打开的桌面,查找文本读取"[browscap]"(我们将返回到这里)。第三,从Browser Capabilies项目下载文件"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!