在php.ini中更改用户代理

时间:2012-04-03 16:23:30

标签: php iphone

我正在尝试更改php.ini文件中的用户代理,如下所示。

user_agent="Mozilla/5.0 (iPhone Simulator; U; 
CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
AppleWebKit/535.17.9(KHTML, like Gecko) 
Version/5.0.2 Mobile/8H7Safari/6533.18.5"

之后,当我使用以下命令检查我的php文件中的用户代理时,这表明用户代理尚未更改。

echo $_SERVER['HTTP_USER_AGENT'];

显示:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)

仍然不是我在php.ini文件中设置的iphone用户代理。

所以请帮助我如何在php.ini文件中设置用户代理,将我的浏览器请求切换为iphone浏览器请求。

我也尝试过以下命令。

ini_set('user_agent', 'Mozilla/5.0 (iPhone Simulator; U; 
    CPU iPhone OS 4_3_2 like Mac OD X; en-us) 
       AppleWebKit/535.17.9 (KHTML, like Gecko) Version/5.0.2 
       Mobile/8H7 Safari/6533.18.5');

这也给出了相同的结果,我无法切换到iPhone浏览器请求。

1 个答案:

答案 0 :(得分:3)

我害怕你误解了。 php.ini中的user_agent设置与$_SERVER['HTTP_USER_AGENT]无关。 php.ini中的设置用作PHP执行HTTP请求时的默认设置,例如使用cURL。

$_SERVER['HTTP_USER_AGENT']包含Web浏览器发送的用户代理及其对PHP脚本的请求。这就是为什么它显示MSIE,因为你在MSIE中查看页面。

如果您想从浏览器发送其他用户代理,则必须使用浏览器插件,除非浏览器允许您自由修改它。例如this