问题标签 [browscap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5420 浏览

php - get_browser() 返回 FALSE

- 在 Linux 上运行 PHP 5.3.8-

首先,我们已经解决了这个问题,直到函数返回预期值。但是,我仍然有很多未解决的问题,而且“解决方案”更像是一种破解方法。

我在这个问题上花了一天的大部分时间,所以请耐心等待我解释所做的事情。首先,问题在于 is 的返回值get_browser()FALSE它不是记录在案的返回值。这使我假设FALSE返回意味着函数中存在某种错误状态。

测试代码,经过多次迭代,变成了一个简单的var_dump(get_browser($agent, true)). 我运行测试时直接传递用户代理字符串,以及不传递任何参数,例如var_dump(get_browser()),所有参数都具有相同的返回值。

已尝试/验证的内容,返回值没有变化:

浏览器.ini:

  • 有最新版本,也测试了几个以前的版本

权限:

  • bowscap.ini - 初始权限为 644,但我尝试了 644-777 的所有权限

  • 包含 browscap.ini 的目录 - 初始权限为 755,也尝试了 777

  • 验证 PHP 可以使用其他功能访问文件和目录,例如file()

用户代理

  • 尝试传递手动用户代理字符串

  • 尝试通过 $_SERVER['HTTP_USER_AGENT']

  • 与远方的朋友验证了我的用户代理字符串 -get_browser()按预期返回值。

php.ini

  • browscap 设置指向正确的位置

  • 再次验证echo count(file(ini_get('browscap')));

错误日志

  • 检查 PHP 和 Apache 错误日志中是否提及“browscap”或任何甚至密切相关的内容 - 没有什么不寻常的。

文件结构

这就是我怀疑错误的来源。browscap.ini 位于/var/php/,具有如上所述的适当权限。我的想法是 PHP 可能无法访问这个目录,或者类似的东西。但是,此目录也是存储会话的位置,因此不太可能。

解决方案”

解决该问题的方法是将 browscap.ini 移至公共 Web 目录。我很好奇为什么会这样,特别是考虑到未记录的返回值。“解决方案”有效,但不是我想我会找到的解决方案......

是否get_browser()有特殊权限要求或类似的要求?file()可以访问目录和文件就好了,但get_browser()不能(大概)。在这个问题上,我几乎已经把头发拉了出来,并且希望得到一些解决方案!

谢谢阅读!

0 投票
1 回答
1370 浏览

php - Apache PHP HTTP_USER_AGENT 和 get_browser 返回不正确的值

我正在为我的 HSC 软件设计和开发重大项目开发一个公司网站。我有一段代码来检查 MySQL 数据库是否支持用户的浏览器,如果不支持,则向他们显示警告并记录他们的浏览器类型。这段代码使用 get_browser 函数(几乎)完美地工作,显示一条看起来有点像这样的消息:

我们检测到您正在使用 Internet Explorer 查看此站点。我们没有测试过这个浏览器,不能保证完全支持。为获得最佳效果,我们建议使用 Google Chrome。

然而,由于 httpd.conf 中的一些混乱和一些服务器重新启动,此代码不再有效。它将浏览器检测为“”。(只是一个空字符串)试图找出问题的根源,我在下面放了一个快速调试行:

由于某种原因,这会在每个浏览器中返回以下内容:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5

我想这是问题的原因,有谁知道为什么会这样?

0 投票
4 回答
4765 浏览

php - get_browser 减慢页面加载速度,还有其他选择吗?

我已经使用 PHP 的get_browser功能很长一段时间了,但从未真正注意到我的任何网站上有任何滞后。但是,最近我注意到我的一个网站在服务器端加载的时间比它应该花费的时间要多一秒左右。我注释掉了该get_browser功能并立即加载了页面。

这可能与我的服务器有关还是get_browser已知该功能很慢?该网站是我唯一在 Windows 服务器上运行的网站,这可能是问题吗?或者这可能与我的 browscap.ini 文件有关(每天从http://browsers.garykeith.com更新)?

如果我无法加快该get_browser功能的速度,是否有任何替代方案?我需要可靠地收集有关浏览器的以下信息:

  1. 它是什么浏览器,即Chrome、IE、Safari等
  2. 它是什么版本(完整),即 10.1 等
  3. 无论是爬虫还是机器人

我不知道从用户代理收集此信息的任何其他方法,使用 javascript 会更好(我宁愿不需要值服务器端)?

0 投票
5 回答
41061 浏览

php - 我应该如何设置 browscap.ini 文件

我下载了 browscap.ini 文件,然后将其粘贴到目录“C:\wamp\bin\php\php5.4.3\extras”,然后我转到 php.ini 文件并在那里进行了这些更改:

然后我重新启动服务器,并在 temp.php 文件中输入以下代码:

现在输出是这样的:

我错过了什么吗?请提供一些解决方案,如果我无法让您理解,请见谅

0 投票
1 回答
17323 浏览

php - Browscap.ini 丢失

我是 PHP 新手,我自己学习,我正在尝试使用 get_browser() 函数,但我检查了我的 phpinfo() 似乎我没有它,因为它说“不价值”。你能帮我设置一个,或者下载一个我可以使用的吗?非常感谢!我在 php 网站上查看了一个,但它说他们现在正在开发一个。

0 投票
1 回答
1208 浏览

php - PHP 安装浏览器

我不能get_browser()去上班。

我按照本教程安装browscap:http ://code18.blogspot.fr/2009/07/installer-browscapini-pour-php.html 但它对我不起作用。当我在核心部分显示 PHP 信息时,browscap 具有“没有价值”。

我在 php.ini 中添加了这个:

就在之前 :

我在 Windows 7 x64 上运行 WAMP 服务器。

任何人都可以帮忙吗?提前致谢 !

0 投票
2 回答
683 浏览

php - 如何向 browscap.ini 文件添加更多条目?

那里提供的官方browscap.ini文件工作得很好,但它们似乎无法识别在 Win8 上运行的 Opera(标识为“默认浏览器”,在其他版本的 Windows 上运行的 Opera 似乎被正确识别)、Epiphany 浏览器(标识为 Chromium) .

如何向文件添加更多条目或获得修改后的更完整版本?还是我的问题是一个人无法解决的browscap.ini

0 投票
2 回答
410 浏览

php - 在 php 中运行的 get_browser() 方法中获取非法字符

手册中,我正在运行一个简单的代码来使用get_browser()方法获取浏览器信息。

手册中的代码 -

code_in_manuals

我正在运行的代码(几乎相同/我尝试删除echo "<pre>";但没有效果) -

这是error/illegal characters我得到的browser_name_regex-

获取浏览器错误

我还尝试了这种 UTF 8 字符编码,但问题仍然存在。

让我知道我做错了什么以及在哪里寻找解决方案?

还有一件事要问,在同一个文档中-

尝试通过在 browscap.ini 文件中查找浏览器信息来确定用户浏览器的功能。

browscap.ini我在我正在使用的系统中哪里可以找到它Windows 7......虽然我不太确定它是否与这个问题有关。

0 投票
1 回答
1309 浏览

php - xampp browscap.ini 存在但仍然 get_browser() 给出奇怪的值

在说它是重复的之前,请继续阅读,我已经正确完成了我的作业:) 我检查了其他帖子,但没有任何帮助:(


以下是我已经处理的事情:

1.http://tempdownloads.browserscap.com/下载php_browscap.ini 的更新副本 (当然使用了“仅与 PHP 一起使用”版本)2.尝试了 php_browscap.ini、lite_php_browscap.ini 和 full_php_browscap.ini 3.编辑了php.ini 文件到

4.通过检查php_info()确认我已经更改了正确的 php.ini 文件

5.是的,删除了那个从';browscap = .....'

6.重述xampp服务器

7.尝试使用“进程监视器” 检查任何文件访问错误https://www.dropbox.com/s/loi8p0fkykzcndr/process_monitor.png

但仍然得到奇怪的值

请帮助我,我花了很多时间阅读这里发布的答案,试图在谷歌上找到解决方案,看过 NewBoston 的视频

0 投票
2 回答
956 浏览

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

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

我得到的错误如下:

警告: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.ini文件并将其放入该目录中,并且还尝试从其他位置引用它,以防出现权限问题或其他问题。

我假设问题在于我如何编写我的路径,但我无法找到让 XAMPP 接受它的方法,当你去它时,phpinfo()它被列为.'core'browscap - no value

显然,每次更改时我都在重新启动 Apache 等,以确保php.ini刷新。

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